嵌入式开发者社区

标题: TMS320C6748: 使用NDK实现TCP传输时,网络模块运行几天后退出 [打印本页]

作者: shxsxlh    时间: 2022-8-8 22:44
标题: TMS320C6748: 使用NDK实现TCP传输时,网络模块运行几天后退出
系统sysbiosCPUTMS320C6748,使用NDK建立网络模块,在TCP.c中设置超时时间为7200s,如下:
int TcpTest(SOCKET s, UINT32 unused)
{
        struct timeval to;
        。。。
        // 配置超时时间 7200
        to.tv_sec = 7200;
        to.tv_usec = 0;
        setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to));
        setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &to, sizeof(to));
        。。。
        while(1)
        {
                。。。
        }
        。。。

}
电路板卡跟电脑连接,电路板为服务器电脑应用程序为客户端。客户端与服务器建立连接后,客户端每隔30s向服务器发送一次报文,服务器接收到该报文后回传采集的数据。起初系统正常运行,但是程序运行2~3天之后网络模块会停止运行,在电脑(客户端)上也ping不通板卡,此时系统正常运行(打印信息正常)。
在源文件message.c中的线程message_thread要使用send()函数向客户端发送数据,因此使用fdOpenSessionfdCloseSession,代码如下:
void message_thread(UArg arg0, UArg arg1)
{
        。。。
        while(1)
        {
                fdOpenSession((HANDLE)tsk_message_thread);
                。。。// 应用程序,功能是实现向客户端发送数据,此处省略
                fdCloseSession((HANDLE)tsk_message_thread);
                Task_sleep(5);
        }

}

请问坛友们:
1、上述情况大概是什么原因导致的?怎么样能定位问题所在?
2、大多数情况下,哪些因素会导致网络模块停止运行?


作者: shxsxlh    时间: 2022-8-17 21:16
没人碰到过这个问题吗?




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4