孙海民的windows sockets网络开发第五章源码一个有关问题

孙海民的windows sockets网络开发第五章源码一个问题
//连接服务器
if (ConnectServer())
{
ShowConnectMsg(TRUE);
}else{
ShowConnectMsg(FALSE);
ExitClient();
return CLIENT_SETUP_FAIL;
}
这段是客户端的一部分代码。
环境VS2005+XP+SP3
问题:ctrl+F5 运行就进入else部分。加断点,单步执行进入ConnectServer()函数内,
再继续运行就进入if部分。为什么呢??试了好几遍了。。每次都这样

------解决方案--------------------
把这个排除掉就可以了。
C/C++ code
            int nErrCode = WSAGetLastError();
            if( WSAEWOULDBLOCK == nErrCode ||//连接还没有完成
                     WSAEINVAL == nErrCode)
            {
                continue;
            }else if (WSAEISCONN == nErrCode)//连接已经完成
            {
                break;
            }else if([color=#FF0000]nErrCode!=10037[/color])//其它原因,连接失败
            {
                return FALSE;
            }