编写简单的IRC(Internet-Relay-Chat)客户端

我从小就开始使用IRC,我一直很着迷。 作为一种语言练习,我在考虑使用Shoes作为图形前端在Ruby中编写一个简单的IRC客户端。 我的问题,亲切的,我需要熟悉什么才能开始这个伟大的冒险(当然除了鞋和Ruby)? 我想有一些关于IRC协议的规范。 有什么指针吗?

之前的post提到了RFC1459。 虽然它是IRC的一个非常好的介绍,但它实际上已被RFC 2810-2813取代。 以下是编写与IRC相关的任何内容所需的更完整的文档列表:

  • RFC1459 (原始RFC;已取代,但仍然有用)
  • RFC2810 (IRC架构)
  • RFC2811 (IRC频道管理)
  • RFC2812 (IRC客户端协议)
  • RFC2813 (IRC服务器协议)
  • CTCP规范
  • DCC规范
  • 更新的CTCP规范 (并非所有客户都支持此)
  • ISupport(响应代码005)草案 (现在几乎所有服务器都支持此function)
  • 客户端function(CAP命令)草案 (由某些服务器/客户端支持)
  • IRCv3标准和提案 (IRC的未来function,其中一些已得到广泛支持)

IRC规范在RFC 1459中列出

http://www.irchelp.org/irchelp/rfc/rfc.html

我在维基百科上发现了这个gem。 听起来很吓人。

实际上并非如此。

Telnet到IRC服务器并亲眼目睹协议的简单性。 最难的部分是握手,之后非常简单。

我曾经用另外两个人(作为课程的一部分)实现了一个客户端和一个服务器。
我可以告诉你,你已经链接到的RFC很棒。
我还尝试简单地嗅探与现有客户端的连接,以便亲自了解其中的工作原理。

不完全是你的问题的答案,但它可能会有所帮助。 如果您使用Ruby,我发现Autumn Leaves项目是使用Ruby构建IRC bot的好方法:

http://github.com/RISCfuture/autumn/tree/master

它几乎是Ruby世界的叽叽喳喳。

Interesting Posts