- }
- int main(void)
- {
- WSADATA WSA;
- SOCKET severScoket,clientScoket;
- struct sockaddr_in LocalAddr,clientAddr;
- int AddrLen = 0;
- HANDLE hThread = NULL;
- int RET = 0;
- if (WSAStartup(MAKEWORD(2,2),&WSA)!= 0 )
- {
- cout<<"init failed"<<endl;
- return -1;
- }
- severScoket = socket(AF_INET,SOCK_STREAM,0);
- if(severScoket == INVALID_SOCKET)
- {
- cout<<"creat failed"<<GetLastError()<<endl;
- return -1;
- }
- LocalAddr.sin_family = AF_INET;
- LocalAddr.sin_addr.s_addr = inet_addr(IP_ADDRESS);
- LocalAddr.sin_port = htons(PORT);
- memset(LocalAddr.sin_zero,0x00,8);
- if (RET != 0)
- {
- cout<<"bind failed";
- return -1;
- }
- RET = listen(severScoket,5);
- if (RET!= 0)
- {
- cout<<"listen failed";
- return -1;
- }
- cout<<"服务器已启动"<<endl;
- while(true)
- {
- AddrLen = sizeof(clientAddr);
- if (clientScoket ==INVALID_SOCKET)
- {
- cout<<"accept failed";
- break;
- }
- cout<<"客户端连接"<<inet_ntoa(clientAddr.sin_addr)<<"."<<clientAddr.sin_port<<endl;
- hThread = CreateThread(NULL,0,ClientThread,(LPVOID)clientScoket,0,NULL);
- if(hThread == NULL)
- {
- cout<<"creat thread failed"<<endl;
- break;
- }
- CloseHandle(hThread);
- }
- closesocket(severScoket);
- closesocket(clientScoket);
- WSACleanup();
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3032151.html