您好!
我有一个使用 lwIP 的实现,它显示出一个奇怪的问题,我希望有人可以提供一些见解或提示:)
接收到的第一条消息会立即调用 tcp_recv 并进行处理。
2.在调用 tcp_recv 之前,第二条消息可能需要5到10s。
3.第三类等在向 TMS570发送数据和进行回调之间可能需要很长时间(或永远)。
我的代码基于以下回显服务器: https://github.com/dreamcat4/lwip/blob/master/contrib/apps/tcpecho_raw/echo.c
请注意、在回显服务器的初始实现中、不会出现此问题、但是、我的实现会将读取和写入分开(例如、它不再是回显服务器)。 因此、在读取时会解析/存储消息、然后释放 pbuf 并调用 tcp_recved、而不是将其发送回。 如果我在存储消息后插入了一个 tcp_write、并且在我取消分配 pbuf 之前仅发回一些随机(常量)字符串-每个人都将再次工作(接收后续数据包时没有延迟)。 我很难解释原因。 是否有人发现回显服务器代码存在问题、如果不要求它发送数据、它就会停止工作?
顺便提一下- lwIP v2是推荐使用还是可用于此微控制器、还是仅为1.4.1?
谢谢、
Thomas