TI中文支持网
TI专业的中文技术问题搜集分享网站

cc3200 TCP 非阻塞模式

size = sl_Recv(iNewSockID, revBuff, 1460, 0);

非阻塞模式怎么一直在这等待?

例程里面的程序

iStatus = sl_SetSockOpt(iSockID, SL_SOL_SOCKET, SL_SO_NONBLOCKING,
&lNonBlocking, sizeof(lNonBlocking));

user4066886:

试了下,貌似要把iSockID换成iNewSockID。

那么问题来了,为什么要用iNewSockID?

while (iNewSockID < 0) {// accepts a connection form a TCP client, if there is any// otherwise returns SL_EAGAINiNewSockID = sl_Accept(iSockID, (struct SlSockAddr_t *) &sAddr,(SlSocklen_t*) &iAddrSize);

例程里面SL_EAGAIN又是怎么回事?晕啊

Yonghua Pan:

回复 user4066886:

你做为TCP服务器的话,你自己需要创建一个套接字,你接收到一个连接后就又创建一个新的套接字。

SL_EAGAIN代表这次没有客户端来连接,所以需要你再去调用来等待客户端的连接。

赞(0)
未经允许不得转载:TI中文支持网 » cc3200 TCP 非阻塞模式
分享到: 更多 (0)