作为一个学习练习,我正在编写一个Python程序来连接到IRC网络上的一个频道,因此我可以将频道中的消息输出到stdout。我正在使用asynchat并手动发送协议消息,而不是使用来自网络的Twisted或现有机器人代码 - 再次,这是一种更有用的学习体验。
我可以非常愉快地发送JOIN和USER命令,并且可以根据需要远离PING / PONG。但是,我注意到当打开一个套接字到6667端口时,我会收到一些消息:
NOTICE AUTH :*** Looking up your hostname...
NOTICE AUTH :*** Checking ident
NOTICE AUTH :*** Found your hostname
NOTICE AUTH :*** No identd (auth) response
即使我还没有发送JOIN / USER命令。
那么,这个通知的开放顺序是在任何地方指定的吗?据我所见,RFC没有指定在客户端发送JOIN命令之前发生的任何事情,我不确定是否在发送JOIN命令之前等待接收这些通知,如果是的话如何检测到我收到了所有通知?
答案 0 :(得分:3)
没有RFC要求这样做,这只是野外服务器的常见事情。观察它们是普通的NOTICE命令(即只是消息)。只需将它们视为发送给伪用户“AUTH”的消息(因为服务器还没有更好的名称)。您不需要等待它们,并且服务器不需要发送它们。