간단한 IRC(Internet-Relay-Chat) 클라이언트 프로그래밍
문제
나는 어린 나이에 IRC를 사용하기 시작했고 항상 IRC에 매료되었습니다.언어 연습으로 저는 Ruby로 간단한 IRC 클라이언트를 프로그래밍하는 것에 대해 생각하고 있었습니다. 신발 그래픽 프런트 엔드로.친절한 선생님, 제 질문은 이 위대한 모험을 시작하려면 무엇에 익숙해져야 합니까(물론 신발과 Ruby 외에)?IRC 프로토콜에는 일종의 사양이 있다고 생각합니다.어떤 조언이 있습니까?
해결책
이전 게시물에서 RFC1459를 언급했습니다.IRC에 대한 매우 좋은 소개이지만 실제로는 RFC 2810-2813으로 대체되었습니다.IRC 관련 프로그래밍에 필요한 문서의 전체 목록은 다음과 같습니다.
- RFC1459 (원본 RFC;대체되었지만 여전히 유용함)
- RFC2810 (IRC 아키텍처)
- RFC2811 (IRC 채널 관리)
- RFC2812 (IRC 클라이언트 프로토콜)
- RFC2813 (IRC 서버 프로토콜)
- CTCP 사양
- DCC 사양
- 업데이트된 CTCP 사양 (모든 클라이언트가 이를 지원하는 것은 아닙니다)
- ISupport(응답 코드 005) 초안 (현재 거의 모든 서버가 이를 지원합니다)
- 클라이언트 기능(CAP 명령) 초안 (일부 서버/클라이언트에서 지원됨)
- IRCv3 표준 및 제안 (IRC의 미래 기능 중 일부는 이미 널리 지원됨)
다른 팁
IRC 사양은 RFC 1459에 나와 있습니다.
Wikipedia에서 이 보석을 찾았습니다.협박처럼 들리네요.
실제로는 그렇지 않습니다.
IRC 서버에 Telnet을 연결하여 프로토콜의 단순성을 직접 확인하십시오.가장 어려운 부분은 악수인데, 그 다음은 매우 간단합니다.
나는 한 번 더 2명의 사람과 함께 클라이언트와 서버를 구현했습니다(과정의 일부로).
이미 연결되어 있는 RFC가 훌륭하다고 말씀드릴 수 있습니다.
또한 기존 클라이언트와의 연결을 스니핑하여 작업이 어떻게 작동하는지 직접 확인해 보겠습니다.
귀하의 질문에 대한 정확한 답변은 아니지만 도움이 될 수 있습니다.Ruby를 사용하는 경우 Autumn Leaves 프로젝트가 Ruby를 사용하여 IRC 봇을 구축하는 좋은 방법이라는 것을 알았습니다.
http://github.com/RISCfuture/autumn/tree/master
이는 Ruby 세계의 Jibble과 거의 같습니다.