编写一个简单的IRC(Internet中继聊天)客户端
时间:2020-03-05 18:42:25 来源:igfitidea点击:
我从很小的时候就开始使用IRC,并且一直对它着迷。作为一种语言练习,我正在考虑使用鞋子作为图形前端在Ruby中编程一个简单的IRC客户端。亲爱的先生,我要问是什么,我需要熟悉些什么才能开始这个伟大的冒险之旅(当然,除了鞋子和露比之外)?我想象有关于IRC协议的某种规范。有指针吗?
解决方案
回答
IRC规范在RFC 1459中列出
http://www.irchelp.org/irchelp/rfc/rfc.html
回答
I found this gem on Wikipedia. Sounds intimidating.
实际上不是。
远程登录到IRC服务器,并亲身见证协议的简单性。最困难的部分是握手,在那之后非常简单。
回答
我曾经与另外2个人一起实现了一个客户端和一个服务器(作为课程的一部分)。
我可以告诉我们,已经链接到的RFC很棒。
我还尝试简单地嗅探与现有客户端的连接,以亲自了解事物的工作方式。
回答
不能完全回答问题,但这可能会有所帮助。如果我们使用的是Ruby,我发现Autumn Leaves项目是使用Ruby构建IRC机器人的好方法:
http://github.com/RISCfuture/autumn/tree/master
这几乎就是Ruby世界的Jibble。
回答
较早的帖子提到了RFC1459. 尽管它是IRC的很好的介绍,但实际上已被RFC 2810-2813取代。这是我们编写任何与IRC相关的文件所需的文档的完整列表:
- RFC1459(原始RFC;已取代,但仍然有用)
- RFC2810(IRC架构)
- RFC2811(IRC通道管理)
- RFC2812(IRC客户端协议)
- RFC2813(IRC服务器协议)
- CTCP规范
- DCC规格
- 更新了CTCP规范(并非所有客户端都支持此规范)
- ISupport(响应代码005)草稿(如今几乎所有服务器都支持)
- 客户端功能(CAP命令)草案(某些服务器/客户端支持)
- IRCv3标准和建议(IRC的未来功能,其中一些功能已得到广泛支持)