C++에서 (SFML 라이브러리의 도움으로) IRC 클라이언트를 작성하고 있지만 이상하게 작동합니다. NICK 및 USER 명령을 보내고 서버에 연결할 수 있지만 JOIN 명령에 "이상하게 작동하는 임의의 코드"를 작성해야하는 이상한 일이 많이 있습니다. 나는 명령이 IRC RFC를 준수하고 있음을 확신한다.IRC 클라이언트 - JOIN에 대한 응답 없음
나는 소켓이 보내고 자하는 것을 전송하고 Wireshark로 그것을 확인했다. 그래서 내가 여기에 게시 한 것은 패킷의 메시지이다.
char mess[] ="NICK lmno \n\rUSER lmno 0 * :lmno\n\rJOIN #mytest\n\r";
Socket.Send(mess, sizeof(mess));
이하지 않는 :
char msg[] = "NICK lmno \r\nUSER lmno 0 * :lmno \r\n";
char msga[] = "JOIN #mytest \r\n";
Socket.Send(msg, sizeof(msg));
Socket.Send(msga, sizeof(msga));
다음 예에서 소켓이 이미 (이 경우 irc.freenode.net 임) IRC 서버
이 작동에 연결되어 그러나 기이하게도이 작품 :
char msg[] = "NICK lmno \r\nUSER lmno 0 * :lmno \r\n";
char msga[] = "JOIN #mytest \r\n";
Socket.Send(msg, sizeof(msg));
Socket.Send(msga, sizeof(msga));
Socket.Send(msga, sizeof(msga));
나는이 주제에 대한 연구를 해본 결과 아무도 sa 나 문제. 낯선 사람은 텔넷에서이 작업을 시도했을 때 한 번만 JOIN을 보내면됩니다. 누구든지 조언을 해 줄 수 있습니까?
감사합니다, SFI
아, 감사합니다! 나는 send 문장 중 하나를 제외한 모든 것을 가지고있다. 고맙습니다. – SFI
'sizeof() - 1' 대신'strlen()'을 사용하십시오. –