LWIP socket通信设置发送和接收超时时间

在使用lwip协议栈做TCP客户端通信的时候发现,如果在发送的时候关闭TCP服务器的连接则在调用ret = send(mytcp_sock, out_str11, strlen(out_str11), 0);函数的时候会返回-1.

如果在正常通信的时候切换服务器的wifi,而没有断开TCP服务器,在调用ret = send(mytcp_sock, out_str11, strlen(out_str11), 0);函数时会发生阻塞。没有数据返回。

这样就无法检测网络连接是否断开,如果需要设置发送超时,则需要在api_msg.c文件中的struct netconn*
netconn_alloc(enum netconn_type t, netconn_callback callback)函数里修改

conn->send_timeout = 3000//3000=3秒

发送和接收函数的超时时间都可以设置,这样在服务器断开wifi时就可以检测到网络连接断开。然后重新连接服务器。

api_msg.c文件在rt-thread->components->net->lwip-2.0.2->src->api文件下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值