c# UDP广播接收不到数据,请大神指教

逍__遥 2018-07-24 03:58:21
发送广播数据代码:
UdpClient UDPsend = new UdpClient(new IPEndPoint(IPAddress.Any, 0));
IPEndPoint endpoint = new IPEndPoint(IPAddress.Broadcast, 0);
JCX_MESSAGE msg = new JCX_MESSAGE();
msg.ulCheckNum = 99999;
byte[] bytes = StructToBytes(msg);
int count = UDPsend.Send(bytes, bytes.Length, endpoint);
接收代码:
UdpClient udpRecv = new UdpClient(new IPEndPoint(IPAddress.Any, 0));
IPEndPoint endpoint = new IPEndPoint(IPAddress.Broadcast, 0);
while (true)
{
byte[] data = udpRecv.Receive(ref endpoint);
JCX_MESSAGE msg = (JCX_MESSAGE)ByteToStruct(data, typeof(JCX_MESSAGE));
}

两台电脑分别运行,发送数据后另外一台电脑用抓包工具可以抓到数据,但代码中未接收数据,请大神指教
...全文
704 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gangAndgang 2018-07-25
  • 打赏
  • 举报
回复
是不是在同一个局网内? 试用组播一下呢
逍__遥 2018-07-24
  • 打赏
  • 举报
回复
UDP广播是不需要端口的
逍__遥 2018-07-24
  • 打赏
  • 举报
回复
引用 1 楼 cftxlin 的回复:
端口用0理应是不可以的,两端统一端口后再试一下


0是任意端口没问题,接收数据时不知道是哪个端口发来的,所以设置的是任意可用端口,发送也是一样
泥士0416 2018-07-24
  • 打赏
  • 举报
回复
端口用0理应是不可以的,两端统一端口后再试一下

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧