Board index » cppbuilder » TClientSocket won't disconnect safely from TServerSocket
Maurice Anderson
CBuilder Developer |
TClientSocket won't disconnect safely from TServerSocket2006-01-05 04:00:18 PM cppbuilder45 Hello, My client is able to connect to my server with no problems. However, if I do a ClientSocket1->Close() on the client, my server hangs. When I check task manager, I can see that my server has pumped up CPU time way high. If I force a close on the server, then I get a Dr. Watson error. Here is my code in my TServerClientThread thread's Execute function: void __fastcall TMyServerThread::ClientExecute(void) { try { pStream = new TWinSocketStream(ClientSocket, 6000); } catch (const Exception &E) { HandleException(); } //BinaryTransfer1->ServerClientWinSocket = ClientSocket; while (!Terminated ||ClientSocket->Connected) { if (pStream->WaitForData(6000)) { } } } This is my client's code: void __fastcall TForm1::ServerSocket1GetThread(TObject *Sender, TServerClientWinSocket *ClientSocket, TServerClientThread *&SocketThread) { SocketThread = new TMyServerThread(true, ClientSocket); SocketThread->FreeOnTerminate = true; SocketThread->Priority = tpNormal; SocketThread->Resume(); } Please let me know if you see anything I am missing. |