int ODSocket::Recv(char* buf, int len, int flags)
{
fd_set fdread;
timeval tv;
int nSize;
FD_ZERO(&fdread);//初始化fd_set
FD_SET(m_sock, &fdread);//分配套接字句柄到相应的fd_set
tv.tv_sec = 2;//这里我们打算让select等待两秒后返回,避免被锁死,也避免马上返回
tv.tv_usec = 0;
int retval=select(0, &fdread, NULL, NULL, &tv);
if (retval>0)
{
return (recv(m_sock, buf, len, flags));
}
else if(retval==0)
{
return 0; //select timeout.......
}
else if (retval<0)
{
return SOCKET_ERROR;
}
}
先把代码发上,我是用的非阻塞方式接收数据并在win32下测试和服务器交互没问题。但是在ios上我能发送数据,但就是接收不了,那位达人给看下是我那写错了。怎么改下给点建议!!急急。在线等
鄙视太监贴