It accur more error. I think nevermind. The program that I edit have AfxBeginThread but I don't want it. But I cant confirm whether it correct or not. Below is the ListenThread and I just disable the AfxBeginThread. UINT ListenThread(LPVOID lParam) { HANDLE hThread; SOCKADDR_IN SktAddr; char szMessage[300]; ServerSkt = socket ( AF_INET, SOCK_STREAM, 0 ); if ( ServerSkt == INVALID_SOCKET ) { printf("Error INVALID_SOCKET 1\n"); } else { SktAddr.sin_family=AF_INET; SktAddr.sin_port=htons(6000); //SktAddr.sin_addr.s_addr=htonl(INADDR_ANY); SktAddr.sin_addr.s_addr=htonl("127.0.0.1"); if ( bind ( ServerSkt, ( LPSOCKADDR ) &SktAddr, sizeof ( SktAddr ) ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 2\n"); } else { if ( listen ( ServerSkt, SOMAXCONN ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 3\n"); } else { /*hThread=AfxBeginThread (AcceptThread,lParam,THREAD_PRIORITY_NORMAL); if ( hThread == NULL ) { wsprintf(szMessage, "(ListenThread) - AfxBeginThread() Error. Unable to Create AcceptThread() Thread."); WriteSysLog(szMessage); } else { wsprintf(szMessage, "(ListenThread) - AcceptThread() Thread Spinoff Completed Successfully."); WriteSysLog(szMessage); return 0; }*/ } } return 0; } } } return 0; } The AfxBeginThread have a AcceptThread, how do I simplify it if I don't want the AfxBeginThread? Below is the AcceptThread code: UINT AcceptThread ( LPVOID lParam ) { SOCKADDR_IN AddrFrom; int nAddrFromLen = sizeof ( AddrFrom ); SOCKETDATA* psktData; HANDLE hThread; char szMessage[300]; while (hHeap!=NULL) { psktData -> Skt = accept ( ServerSkt, ( LPSOCKADDR ) &AddrFrom, &nAddrFromLen ); if ( psktData -> Skt == INVALID_SOCKET ) psktData -> AddrFrom = AddrFrom; psktData -> nAddrFromLen = nAddrFromLen; psktData -> ParamPointer = lParam; hThread = AfxBeginThread ( ( AFX_THREADPROC ) ClientThread, ( LPVOID ) psktData, THREAD_PRIORITY_NORMAL, 0, 0, NULL ); if ( hThread == NULL ) { wsprintf(szMessage, "(AcceptThread) - AfxBeginThread() Error. Unable to Create ClientThread() Thread."); WriteSysLog(szMessage); HeapFree ( hHeap, 0, psktData ); closesocket ( psktData -> Skt ); break; } } return 0; }