int ListenForClient(){ WSADATA wsaData; WORD version; int error; version = MAKEWORD( 2, 0 ); error = WSAStartup( version, &wsaData ); if ( error != 0 ){ MessageBox(0,"Eror","An Error has Occured",0); return 0; } if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 0 ) { MessageBox(0,"Error","Incorrect Winsock Version",0); WSACleanup(); return 0; } SOCKET server; server = socket( AF_INET, SOCK_STREAM, 0 ); struct sockaddr_in sin; memset( &sin, 0, sizeof sin ); sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; sin.sin_port = htons( 6000 ); if ( bind( server, (const struct sockaddr *)&sin, sizeof sin ) == SOCKET_ERROR ) { MessageBox(0,"Error","Could Not Start Server",0); return 0; } SOCKET client; int length; length = sizeof sin; while(true){ while ( listen( server, SOMAXCONN ) == SOCKET_ERROR ); client = accept( server, (struct sockaddr *)&sin, &length ); CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)HandleClient,(LPVOID)client,0,NULL); Sleep(1); } return 1; }