小智 11
IRC RFC文档是一个重要的参考,但我在IRC客户端和服务器之间的通信中发现的最有用的第一个介绍非常简单.
首先,您需要访问*nix shell(例如,ssh进入运行Linux的Web主机).
在命令行中,使用程序"nc"打开与IRC服务器的直接连接.然后,您可以直接键入RFC命令,并查看响应.尝试输入
$ nc wright.freenode.net 6667
PASS whateveryoulike
NICK yournick
USER username 0 * :Real Name
Run Code Online (Sandbox Code Playgroud)
在此期间服务器有输出,但现在您已登录并"注册"了您的用户.注意:您的昵称未注册(ala NickServ),我指的是注册用户,如RFC 2812 IRC客户端协议第3.1节所述.
您现在可以加入频道:
JOIN #yourtestchannel
Run Code Online (Sandbox Code Playgroud)
看看频道中的人:
WHO #yourtestchannel
Run Code Online (Sandbox Code Playgroud)
给自己发一个消息:
PRIVMSG yournick Message Text Here
Run Code Online (Sandbox Code Playgroud)
聊天频道(发送频道为msg):
PRIVMSG #yourtestchannel Message Text Here
Run Code Online (Sandbox Code Playgroud)
如果您在真实的IRC客户端中连接到具有不同缺口的相同服务器和通道,这将特别有用.您可以与自己聊天并向另一个发送一个昵称,并查看您必须解析的"原始"IRC输出以编写您自己的客户端或机器人.
例如,在频道中聊天的人看起来像这样:
:SomeDude28!SomeDude28@hoststring-with_various_parts PRIVMSG #channel :Hey guys, what's up?
Run Code Online (Sandbox Code Playgroud)
使用RFC,您可以使用您想要的任何功能,更重要的是,弄清楚您需要如何解析事物.
哦,不要偶尔忘记PONG,或者在PING提示时,以避免ping超时.
如果你想重新发明轮子,那么你必须实现RFC并从头开始做所有事情.
如果您不想这样做并且需要某种程度的抽象来简化您的开发(以及您应该这样做),那么请参阅Twisted.
还有一个Python IRC客户端库.