DWORD WINAPI TWO(LPVOID jjyy)
{
while(true)
{
fd_set recvfd;
struct timeval tv = {3,0};
FD_ZERO(&recvfd);
FD_SET(a,&recvfd);
//检测有没有数据到达socket
int result = select(0, &recvfd, NULL, NULL, &tv);
if(result>0)
{
break;
}
}
AfxMessageBox(_T("123"));
a.Accept(b); //问题处在这一句里
return 0;
}
然后我去sockcore看592哪行源码 ASSERT(pSocket != NULL);
我猜是做回调函数时 声明的socket不能为空 socket不能为空新人表示很费解 该怎么办啊
pSocket在哪定义,没看见?
你的代码结构也有问题,accept怎么能放在这种地方
int result = select(0, &recvfd, NULL, NULL, &tv);
如果result == 0怎么办?(超时处理),此时你去accept什么?
你通过select设置的recv状态,当result > 0是有数据到来,如果是<= 0,你确定是连接到来吗?