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.

[参考译文] CCS/LAUNCHCC3220MODASF:保持活动 TCP 套接字服务器

Guru**** 2586815 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/728084/ccs-launchcc3220modasf-keep-alive-tcp-socket-server

器件型号:LAUNCHCC3220MODASF

工具/软件:Code Composer Studio

您好!

 我想在设置保持活动超时后询问


INT TIMEOUT = 120;

iStatus = sl_SetSockOpt (iSockID、sl_SOL_Socket、sl_SO_KeepAliveTime、(_u8*)&timeout、sizeof (timeout));
if (iStatus < 0)

   UART_PRINT ("[行:%d]、[错误:%d]、[函数:%s]、[%s]\n\r\n、__LINE__、 iStatus、__function__、sl_socket_error);
   return(-1);

iNewSockID = SL_ERROR_BSD_EAGAIN;

//等待传入的 TCP 连接
while (iNewSockID < 0)

  //接受来自 TCP 客户端的连接(如果有)
 //否则返回 SL_EAGAAIN

iNewSockID = sl_accept (iSockID、CSA、(SlSocklen_t*)&iAddrSize);
UART_PRINT ("iNewSockID:%d\n\r"、iNewSockID);

    if ((iNewSockID == sl_error_bSD_EAGAIN)&& NB =true)
    {
      UART_PRINT ("SLEEP\n"r);
      睡眠(1);
    }
    否则 if (iNewSockID < 0)
    {
     //错误
     UART_PRINT ("[行:%d]、[错误:%d]、[函数:%s]、[%s]\n\r\n、__LINE__、 iNewSockID、__function__、sl_socket_error);
     sl_close (iNewSockID);
     sl_close (iSockID);
     return(-1);
    }

那么 、是否有办法检查结束超时何时保持活动状态、然后重新启动或退出?

谢谢

Nguyen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Nguyen:

    最接近断开连接事件的是调用 sl_Recv 解除阻断并返回0。

    亚伦