连接IRC服务器时的"NOTICE AUTH"通知

2 投票
1 回答
2708 浏览
提问于 2025-04-15 18:33

作为一个学习练习,我正在写一个Python程序,目的是连接到一个IRC网络的频道,这样我就可以把频道里的消息输出到标准输出(stdout)。我使用的是asynchat,并手动发送协议消息,而不是使用像Twisted这样的框架或网上现成的机器人代码——这样做对我来说是更有用的学习体验。

我可以顺利地发送JOIN和USER命令,也能根据需要进行PING/PONG的互动。不过,我注意到当我打开一个连接到6667端口的socket时,会收到一些消息:

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命令之前等待接收这些通知,如果是的话,我该如何判断自己是否收到了所有的通知呢?

1 个回答

4

这件事并没有什么官方的规定,实际上只是很多服务器常做的事情。你可以把它们看作是普通的通知命令(也就是一些消息)。可以把这些消息当作是发给一个虚拟用户“AUTH”的,因为服务器还没有给你一个更好的名字。你不需要等待这些消息,服务器也没有义务一定要发送它们。

撰写回答