This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP432E401Y的TCPIP通信问题

Other Parts Discussed in Thread: MSP432E401Y

我用两个msp432e401y做TCPIP通信测试(IP地址分别为192.168.0.3,192.168.0.4,端口号都是502),MSP432作为SERVER,和PC上的调试工具进行通信;

SERVER上运行tcpecho_MSP_EXP432E401Y_tirtos_ccs程序;

单个SERVER和单个TCPIP调试工具连接,通信正常,无任何丢包现象;

单个SERVER和两个TCPIP调试程序相连,也就是PC上两个TCPIP调试工具同时连接SERVER(192.168.0.3),通信偶尔有丢包现象,但总体正常;

当两个SERVER分别和PC端的TCPIP调试工具相连,也就是192.168.0.3(502)和TCPIP调试工具1相连,192.168.0.4(502)和PC端的TCPIP调试工具2相连,中间通过路由器连接在一起,这个时候通信结果是:如果SERVER1通信正常,那么SERVER2通信肯定处于超时无响应状态,或者SERVER2通信正常,SERVER1处于超时无响应状态,也就是说值有一个通信时正常的,另一个通信是不正常的,而且会相互交替。

仿真器调试发现,void tcpWorker(uint32_t arg0, uint32_t arg1)这个线程在通信响应超时的时候,缺失没有收到任何数据,在while ((bytesRcvd = recv(clientfd, m_receive_byte, TCPPACKETSIZE, 0)) > 0)内部设置断点,发现跳不进来;也就是PC端发送的两段消息只有一段起作用。

下面大概画了一个连接的图,请给与指导,谢谢!