2

作为一个学习练习,我正在编写一个 Python 程序来连接到 IRC 网络上的通道,这样我就可以将通道中的消息输出到标准输出。我正在使用 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 命令之前是否等待收到这些通知,如果是这样如何检测我已收到所有通知?

4

1 回答 1

4

执行此操作没有 RFC 要求,这只是野外服务器所做的常见事情。注意它们是普通的旧 NOTICE 命令(即只是消息)。只需将它们视为发送给伪用户“AUTH”的消息(因为服务器还没有更好的名称)。您不需要等待它们,也不需要服务器发送它们。

于 2010-01-27T20:16:34.187 回答