tcpclient 插拔网线问题?

发布于 2020-08-07 16:26:50

最近调试rtt自带的tcpclient_sample的例子程序,程序是调试通了,但是还是发现了一个问题。当操作顺序不一样的时候线程会暂停在第96行

96    bytes_received = recv(sock, recv_data, BUFSZ - 1, 0);

前提已经是连接正常状态下需要拔网线再连接

一,正常顺序是
1,关闭PC上的TCP服务器
2,拔出网线
3,再插入网线
4,打开PC上的TCP服务器
5,再msh 打入命令tcpclient 192.168.1.10 3000
以上步骤没有问题可以再连接。

二,不正常顺序
1,在打开PC上的TCP服务器时拔出网线
2,关闭PC上的TCP服务器
3,再插入网线
4,打开PC上的TCP服务器
5,此时无法使用命令tcpclient 192.168.1.10 3000
以上步骤通讯无法再连接

我想知道完善一点的tcpclient的程序应该怎么写。请大神指点一下谢谢。

查看更多

关注者
0
被浏览
199
summerxyh
summerxyh 2020-08-11

虽然pc端已经关闭了连接,板子上的socket还在,需要自己做一个断线重连机制。

3 个回答
cychen
cychen 2020-08-07

网线检测是不是没做?用if config 查下状态

dingzijie
dingzijie 2020-08-13

问题已经解决 加了timeout就可以了。

撰写答案

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

发布
问题

分享
好友