rt-thread stm32 0.3.0 rc1 网络问题

发布于 2010-06-08 01:53:55
在使用例程稍加修改如下:

while (1)
{
/* 从sock中收取最大1024字节数据 */
bytes_read = recvfrom(sock, recv_data, 1024, 0,
(struct sockaddr *)&client_addr, &addr_len);
/* UDP不同于TCP,它基本不会出现收取的数据失败的情况,除非设置了超时等待 */

recv_data[bytes_read] = ''; /* 把末端清零 */
sendto(sock, recv_data, strlen(recv_data), 0, (struct sockaddr *)&client_addr, sizeof(struct sockaddr));
}

程序收到数据后,一切正常,可以发回收到的数据。当程序继续循环,运行到recvfrom时,远程并没有发送数据,但是recvfrom立即返回了,并且返回的还是上次收到的数据。简单来说就是同样的数据被接收了两次。

STM32F107VCT + DP83848

不知道是我测试程序的问题还是程序的问题,望版主明察:)

查看更多

关注者
0
被浏览
4.9k
4 个回答
bernard
bernard 2010-06-08
好的,我在STM32 Radio上试试。
womeikong
womeikong 2010-06-09
同样的代码在LM3S8962上运行没有问题。
bernard
bernard 2010-06-09
我试过了你的代码,并没有什么问题。看你的描述,似乎还和平台相关?按照道理这个应该和平台无关的,是否是你其他的地方影响到了?

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友