This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我尝试从 SDK 版本8.04中的示例开始、通过套接字进行 UDP 通信。
我修改了 TCP 示例、使用相同的字符串通过 TCP 和 UDP 发送计数器。
TCP 部分工作正常、但 UDP 发送在始终发送数据包的情况下、发送正确字符串的工作非常糟糕、经常跳过并重复接收到的数据包。 当前 SDK 版本是否完全支持 UDP 套接字、或者该功能是否正在进行开发?
memset(&snd_buf, 0, sizeof(snd_buf)); printed = snprintf(snd_buf, sizeof(snd_buf), "Hello over UDP %d\r\n", i); EnetAppUtils_print(snd_buf); EnetAppUtils_print("\r\n"); lwip_write(sock_udp, snd_buf, printed); /* Send data to Host */ ret = lwip_write(sock, snd_buf, printed);
上面的 sock 是在 app_socket 中创建的 TCP 套接字、sock_udp 是 UDP 套接字、Wireshark 捕获具有上述 UDP 问题以及在接收到的字符串中存在一致的"off by 1"延迟。
谢谢、
Mike
尊敬的 Mike:
我已经开始研究这个问题。 请在下周之前更新。
BR
Nilabh A.
尊敬的 Mike:
您能不能共享 Wireshark 捕获和您在 TCP 和 UDP 情况下收到的输出。 可能有助于进一步评估。
谢谢、BR、
Shaunak
您好、Shaunak、
我可以捕获从 launchpad 板发送/接收的数据包、但该论坛似乎不允许 pcap 文件。
您好、Michael、您可以将其压缩并附加。
BR
当然、Michael、
团队将在我们观察到一些情况后返回
BR
Nilabh A.
尊敬的 Mike:
感谢您共享.pcap 文件。 我正在尝试在我的终端上重现此问题、以便我们保持在同一页上、您能否共享您在终端/ DUT/console 中看到的输出。 我想了解你所面临的"一关"滞后是什么。
谢谢、此致、
Shaunak
Shayunak、您好、很抱歉耽误您的时间。 这是从 minicom 和 Wireshark 捕获的信息。 我增加了两次迭代之间的睡眠时间、希望能更清楚地说明这一点。
尊敬的 Mike:
我尝试在我的末尾重现此问题、在同一示例中运行 UDP 和 TCP 套接字、因为我看不到您的实现(app_socket.c)、我尝试了自己的实现、我发现它完全正常、可以按顺序传输 UDP 和 TCP 数据包。
我要附加我的 app_socket.c 实现、您可以继续尝试比较实现/程序流程。
/cfs-file/__key/communityserver-discussions-components-files/908/app_5F00_socket.c
谢谢、BR、
Shaunak
您好、Shaunak、
我通过将 UDP 发送缓冲区声明为非缓存存储器块来解决我的问题。