AsyncSelect I/O程序。server,client端代码整合在一起。都是用同一个recv代码,为什么server发送client接受没错;而client发送,server接受则有10057错误——注:client发送时正常,也就是问题处在server接收的recv()函数,其返回-1.代码如下:listenFlag是个标识,标识是server还是client。
if(listenFlag)
{
if((recvSize=::recv(listen,buf,1024,0))==SOCKET_ERROR)
{
return false;
}
//for test
          .............
return true;
}
else
{
if((recvSize=::recv(connect,buf,1024,0))==SOCKET_ERROR)
{
return false;
}
...............
return true;
}
WSAENOTCONN                    (10057)             Socket is not connected. 
因为套接字没有连接,发送或接收数据的请求不被允许,或者是使用sendto()函数在数据报套接字上发送时没有提供地址。任何其它类型的操作也可以返回此错误,例如,使用setsockopt()函数在一个已重置的连接上设置SO_KEEPALIVE。