在同一端口上接收对UDP多播的响应

时间:2016-08-23 08:30:18

标签: c# sockets udp multicast

我试图发送一个多播数据包然后接收回来的响应(应该只有一个响应。)我可以发送数据包,wireshark显示回复,但我的程序从未收到它。我尝试了一些不同的东西,但这是我的无法运行的代码的当前状态。

IPEndPoint epReceive = new IPEndPoint(IPAddress.Any, 5355);
IPEndPoint epSend = new IPEndPoint(IPAddress.Parse("224.0.0.252"), 5355);

UdpClient sendClient = new UdpClient();
sendClient.ExclusiveAddressUse = false; 
sendClient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
sendClient.Client.Bind(epReceive);
sendClient.Send(packet, packetLength, epSend);

byte[] buffer = sendClient.Receive(ref epReceive);


sendClient.Close();

此代码只挂在sendClient.Receive()行上。我意识到这个代码目前是阻塞的,可以/应该是线程化的,但是出于使用它的目的,它并不是一个问题。

0 个答案:

没有答案