微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3200 TCP_socket例程设为客户端, 收数据串口提示SOCK ERROR] - close socket (17) operation failed to transmit all queued packets

CC3200 TCP_socket例程设为客户端, 收数据串口提示SOCK ERROR] - close socket (17) operation failed to transmit all queued packets

时间:10-02 整理:3721RD 点击:

我用CC3200做客户端,用电脑PC做sever,运行TCP_socket官方例程 通信,结构如下图

      cc3200一直为客户端,发送数据后接收服务器回传的数据,我在int BsdTcpClient(unsigned short usPort)程序中加了接收语句。

CC32串口有时给我发送提示


[SOCK ERROR] - close socket (17) operation failed to transmit all queued packets

[SOCK ERROR] - close socket (18) operation failed to transmit all queued packets

如下图,为什么会有这样的提示?

要不要判断发送成功,发送成功后有标志位吗?你只判断了小于0的情况。是不是还有0的情况或为正的情况。。

你的g_ulpacketcount的值是多少,能否试试看把数量设置为1.

让它发送的少一点。

g_ulPacketCount=1,我又加了延时 ,还是会出现这样的提示。未解决,

你的socket number一直在往上增加

[SOCK ERROR] - close socket (17) operation failed to transmit all queued packets

[SOCK ERROR] - close socket (18) operation failed to transmit all queued packets

是不是创建了没有关掉,然后又去创建新的了?

怎么关掉socket 

iStatus = sl_Close(iSockID);  这个程序是关掉socket 吗 ?程序发送完就有跟这个语句。我运行官方例程也会出现这种提示。不知道别人有没有遇到。

这个问题我也遇到了。也不知道它这个sl_close是不是立刻关闭socket的。每次的返回值都是0,报这种错误的时候。[SOCK ERROR] - close socket (17) operation failed to transmit all queued packets。返回值也是0.就想问有没有方法能够查询这个socket是否是关闭了的?而且按这个错误提示来看。应该是跟发送有关吧?这不是说 to transmit all queued packets么。我也试了在sl_send后,sl_close前加osi_sleep(10)延时了。貌似没什么用。也试过设成阻塞。很像效果会好些。但是还是会出错。至今还没搞懂这问题该怎么破。还有,我发现这错误报出来的时候其实通讯是正常的。服务器那边也收到数据了。

可以先完全用例程测试一下看看,不要改任何东西。再就是要确保SDK和service pack的版本是匹配的。

如果允许官方例程也有这个问题的话,请注意service pack和SDK的版本是不是匹配的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top