cc3200 TCP 非阻塞模式
时间:10-02
整理:3721RD
点击:
size = sl_Recv(iNewSockID, revBuff, 1460, 0);
非阻塞模式怎么一直在这等待?
例程里面的程序
iStatus = sl_SetSockOpt(iSockID, SL_SOL_SOCKET, SL_SO_NONBLOCKING,
&lNonBlocking, sizeof(lNonBlocking));
试了下,貌似要把iSockID换成iNewSockID。
那么问题来了,为什么要用iNewSockID?
while (iNewSockID < 0) { // accepts a connection form a TCP client, if there is any // otherwise returns SL_EAGAIN iNewSockID = sl_Accept(iSockID, (struct SlSockAddr_t *) &sAddr, (SlSocklen_t*) &iAddrSize);
例程里面SL_EAGAIN又是怎么回事?晕啊
你做为TCP服务器的话,你自己需要创建一个套接字,你接收到一个连接后就又创建一个新的套接字。
SL_EAGAIN代表这次没有客户端来连接,所以需要你再去调用来等待客户端的连接。