关于在调试lwip的短连接的心得

12 篇文章 1 订阅
5 篇文章 0 订阅

首先说明下,我的平台是STM32F207+DP83848,板子当UDP服务端用的是RT-THREAD操作系统。今天在调试lwip的时候遇到了客户端在一段时间发送数据到我客户端,我收到数据后应答它。但是在一段时间后(时间不定),客户端就接收不到我发送的数据了。后来通过街上打印信息,发现客户端的端口号变了。后来查看资料知道,客户端执行的是短连接,在每次发送完数据后,会关闭UDP的SOCKET服务。再次发送的时候在启动SOCKET服务,这样就会出现客服端发送的端口号会随机的变化。而我的板子做服务器端,做了这样的处理。SOCKET在接收到数据的时候我记录下客户端的ip、端口号信息。接收SOCKET线程是不会关闭的,除非收到“exit”字节。

这样在客服端的端口号变了后, 我还是用以前记录的端口号来回应,导致客服端收不到我的回应,这样会照成客服端认为无响应,导致连接中断。

所以大家在调试的时候要注意一下长连接和短连接的区别,可以查看点击打开链接的博文。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值