IOCP应用HANDLE hBegin=NULL;SOCKET sListen=INVALID_SOCKET;THREAD_DATA tdata;bool Listen(int nPort){ if(sListen==INVALID_SOCKET) sListen=::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(sListen==INVALID_SOCKET) return false; sockaddr_in addr; addr.sin_family=AF_INET; addr.sin_addr.S_un.S_addr=INADDR_ANY; addr.sin_port=::htons(nPort); if(::bind(sListen,(PSOCKADDR)&addr,sizeof(addr))==SOCKET_ERROR) return false; return ::listen(sListen,5)!=SOCKET_ERROR;}void Close(){ ::closesocket(sListen); sListen=INVALID_SOCKET;}