有这几点问题:
1.我编了个服务器端口8090和客户端,我调用connect连接环回地址127.0.0.1:8091
可是一直返回10035--WSAEWOULDBLOCK错误,为什么???
2.我用WSAAsyncSelect模型,connect调用时产生FD_CONNECT,如果不在FD_CONNECT中重写connect,
程序好象就不在调用connect了,不是说connect成功才产生FD_CONNECT的吗???
请高手指教,谢谢!!!
1.我编了个服务器端口8090和客户端,我调用connect连接环回地址127.0.0.1:8091
可是一直返回10035--WSAEWOULDBLOCK错误,为什么???
2.我用WSAAsyncSelect模型,connect调用时产生FD_CONNECT,如果不在FD_CONNECT中重写connect,
程序好象就不在调用connect了,不是说connect成功才产生FD_CONNECT的吗???
请高手指教,谢谢!!!
在connect之后又调用了一次.
给你一个做法,我一般是第一次连接的时候,没有判断就直接CONNECT();是在事件响应里
int iErrorCode = WSAGETSELECTERROR(lParam);
是在事件响应里case FD_CONNECT:
{
if( 0 == iErrorCode )
TRACE("连接成功");
else
connect ();//重新连接
}
是在事件响应里case FD_CONNECT:
{
if( 0 == iErrorCode )
TRACE("连接成功");
else
connect ();//重新连接
}我一般是用这个做重连的
然后才判断CONNECT的连接是否成功是吗
就是WM_INITDIALOG里socket调用之后:
WSAAsyncSelect (clientSock, hwnd, WM_SOCKET, FD_CONNECT|FD_READ|FD_WRITE|FD_CLOSE);
这样对吗?
但是10022,我没有试过,
10035我是知道,要是WSAAsyncSelect在connect之前的话是会有10035
在accept后返回一个SOCKET
在closesocket监听的SOCKET之前,也要closesocket这个SOCKET的吧.
对吗
我试了一下,要是服务器没有开的话,都是10035这个错误
要是没有这个例子,你把qq留下,我发给你
是不是写错了?
连接环回地址127.0.0.1:8090?