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

来源:互联网 发布:厦门理工软件学院地址 编辑:程序博客网 时间:2024/06/13 11:45

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

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

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

0 0
原创粉丝点击