TCP 当服务器时,需要外部连接,TCP连接成功了
但是这是PC tcp上位机不发送数据时,程序死等在sl_Recv函数。
// waits for 1000 packets from the connected TCP client
while (lLoopCount < g_ulPacketCount)
{
iStatus = sl_Recv(iNewSockID, g_cBsdBuf, iTestBufLen, 0);
// iStatus = sl_Send(iNewSockID, g_cBsdBuf, iTestBufLen, 0);
if( iStatus <= 0 )
{
// error
ASSERT_ON_ERROR( sl_Close(iNewSockID));
ASSERT_ON_ERROR(sl_Close(iSockID));
ASSERT_ON_ERROR(TCP_SERVER_FAILED);
}
lLoopCount++;
}
我添加超时接受,修改相应的参数,也是一样的效果
SlTimeval_t sltimeval;
sltimeval.tv_sec = 0;
sltimeval.tv_usec = 300;
// setting socket option to make the socket as non blocking
iStatus = sl_SetSockOpt(iSockID, SL_SOL_SOCKET, SL_SO_RCVTIMEO ,
&sltimeval, sizeof(sltimeval));
请问TI工程师,怎么修改相应的代码才能够不死等接受数据,不然这样只能加操作系统??