题
我很小的时候就开始使用 IRC,并且一直对它着迷。作为一项语言练习,我正在考虑用 Ruby 编写一个简单的 IRC 客户端 鞋 作为图形前端。我想问您,先生们,我需要熟悉什么才能开始这次伟大的冒险(当然除了鞋子和红宝石)?我想 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 中列出
我在维基百科上找到了这个宝石。听起来很吓人。
其实不是。
Telnet 到 IRC 服务器并亲眼目睹该协议的简单性。最难的部分是握手,之后就很简单了。
我曾经与另外两个人一起实现了一个客户端和一个服务器(作为课程的一部分)。
我可以告诉您,您已经链接到的 RFC 非常棒。
我还尝试简单地嗅探与现有客户端的连接,以亲自了解事情是如何工作的。
不完全是您问题的答案,但可能会有所帮助。如果您使用 Ruby,我发现 Autumn Leaves 项目是使用 Ruby 构建 IRC 机器人的好方法:
http://github.com/RISCfuture/autumn/tree/master
这几乎就是 Ruby 世界的 Jibble。
不隶属于 StackOverflow