服务端:
WSADATA wsd;
SOCKET sListen;
SOCKADDR_IN local;
case WM_CREATE: 
WSAStartup(0x0202,&wsd) ;
sListen = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
local.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
local.sin_family = AF_INET;
local.sin_port = htons(5150);
bind(sListen,(sockaddr *)&local,sizeof(local));
listen(sListen,3);
WSAAsyncSelect(sListen,hWnd,WM_USER+0,FD_ACCEPT);
break;
case WM_USER+0:
if(WSAGETSELECTERROR(lParam))
{
closesocket(wParam);
} switch (WSAGETSELECTERROR(lParam))
{
case FD_ACCEPT:
sClient = accept(wParam,(struct sockaddr *)&local,&iAddrSize);
WSAAsyncSelect(sClient,hWnd,WM_USER+0,FD_READ|FD_CLOSE);
break;
                 ..............
                 }
客户端:
case WM_CREATE: 
(WSAStartup(0x0202,&wsd);
sListen = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
local.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
local.sin_family = AF_INET;
local.sin_port = htons(5150);
if (connect(sListen,(sockaddr *)&local,sizeof(local)) != 0)
{
MessageBox(hWnd,"1","1",MB_OK);
break;
}
MessageBox(hWnd,"2","2",MB_OK);
break;
先打开服务端,然后打打开客户端,结果客户端跳出MessageBox(hWnd,"1","1",MB_OK);连不上客户端,请问为什么会这样?是异步选择的!