我在接收来自UdpClient套接字的数据包时遇到了麻烦。
问题:
我的套接字正在接收以广播类型发送的数据包,但它也接收它自己发送的数据包。如何阻止这个?
我已启用广播以广播方式发送消息并禁用MulticastLoopback但问题仍然存在。
以下是我的代码段的样子:
UdpClient = new System.Net.Sockets.UdpClient();
UdpIpEp = new IPEndPoint(IPAddress.Parse("10.9.210.110"), 15000);
newIpendpoint = new IPEndPoint(IPAddress.Broadcast, 15000);
UdpClient.EnableBroadcast = true;
UdpClient.MulticastLoopback = false;
UdpClient.Client.Bind(UdpIpEp);
// for sending
UdpClient.Send(Data, Data.Length, newIpendpoint);
// for receiving
if (UdpClient.Available > 0) {
Byte[] TempByteArray = UdpClient.Receive(ref UdpIpEp);
}
现在, TempByteArray 中收到的数据与应用程序发送的数据相同。我做错了什么以及如何阻止它?