首页 新闻 搜索 专区 学院

UDP通信,抓包工具能抓到数据,但软件读不到数据

0
悬赏园豆:5 [已解决问题] 解决于 2022-08-12 17:06

UDP通信,数据发送方是一个单片机,主动向PC机发送UDP数据

但是 IPTool 抓包工具能读到指定IP地址和端口到指定PC机IP地址和端口的UDP数据。但PC机上的软件就是读不到数据,这可能是怎么回事?

PC机上用C# 和 Java 都试过了,并且用的是最基本的读数据代码,都读不到。

可以肯定的是,PC机上的C#和Java程序都没毛病,因为用另外一台PC机模拟单片机发送数据时,它是能正常读到数据的。

以下是C#和Java的读数据代码

Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
server.Bind(new IPEndPoint(IPAddress.Parse("192.168.0.30"), 4060));

Console.WriteLine("启动监听,本地端口:4060");
byte[] buffer = new byte[1024];
EndPoint remotePoint = new IPEndPoint(IPAddress.Any, 4001);
while (true) {
    int size = server.ReceiveFrom(buffer, SocketFlags.None, ref remotePoint);
    string hex = Convert.ToHexString(buffer, 0, size);
    Console.WriteLine("收到数据:" + hex);
}

 

DatagramSocket ds = new DatagramSocket(4060);
byte[] buf = new byte[1024];
while(true){
    DatagramPacket packet = new DatagramPacket(buf, buf.length);
    ds.receive(packet);
    System.out.println("data size = " + packet.getLength());
}
UDP
血狼一族的主页 血狼一族 | 初学一级 | 园豆:61
提问于:2022-07-14 14:24
< >
分享
最佳答案
0

会不会是监听绑定的地址不对

收获园豆:5
Adming | 初学一级 |园豆:70 | 2022-07-19 10:46

反复确认过了,没有错误

血狼一族 | 园豆:61 (初学一级) | 2022-07-19 14:58
其他回答(1)
0

确认了一下,对方硬件故障

血狼一族 | 园豆:61 (初学一级) | 2022-08-12 17:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册