연결을 허용하고 클라이언트에게 메시지를 보내는 실험적인 서버 프로그램을 작성하려고합니다. 연결할 클라이언트가 있지만 정말 이상한 일을하지 않으면 메시지를 보낼 수 없습니다. 나는 텔넷을 통해 연결할 때, 그것은 아무것도 표시되지 않습니다 그냥 종료, Winsock의 send()가 이상하게 작동합니다.
int sendRes;
char buf[1024];
strcpy_s(buf,"Testing!");
sendRes = send(conn,buf,strlen(buf),0);
음 :
예를 들어,이 싹둑에서, conn
는 연결된 소켓입니다. 그러나이 닙의 끝에 cout << sendRes
줄을 추가하면 갑자기 작동하여 테스트가 표시됩니다! 텔넷에서을 다운로드해야합니다.
그래서, 알고있는 사람에게 물어보고 싶습니다. 왜 그렇게 행동합니까?
응용 프로그램에서 shutdown 및 closesocket을 호출한다고 가정합니다. 종료를 호출하기 전에 일부 데이터가 전송되지 않을 수 있습니다. 또한 WireShark 또는 Netmon으로 전선을 조사하십시오. –