我有一個通過UDP協議進行通信的完整程序。程序在IP 192.168.1.9的PC上運行。當我發送特定數據時,該程序會作出響應。發送UDP在特定端口的兩個程序之間發送和接收
代碼:
var client = new UdpClient();
IPEndPoint destination = new IPEndPoint(IPAddress.Parse("192.168.1.9"), 1531);
IPAddress localIp = IPAddress.Parse("192.168.1.3");
IPEndPoint source = new IPEndPoint(localIp, 1530);
client.Client.Bind(source);
client.Connect(destination);
byte[] send_buffer = { 170, 170, 0, 0, 1, 1, 86 };
client.Send(send_buffer, send_buffer.Length);
Wireshark的捕獲: Screen
但我的應用程序沒有發現任何問題:
UdpClient listener = new UdpClient(1530);
IPAddress ip = IPAddress.Parse("192.168.1.3");
IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, 1530);
byte[] receive_byte_array;
while (!done)
{
Console.WriteLine("Waiting for broadcast");
receive_byte_array = listener.Receive(ref groupEP);
}
我需要捕捉通信從192.168.9至192.168 .1.3在端口1530.
你爲什麼使用UDP進行進程間通信? – lego
然後事件,爲什麼你使用特定的IP而不是使用'127.0.0.1'環回IP? –
在192.168.1.9上運行的程序已完成,無法更改。 UDP通信已經實現。 – user3519791