IRC协议的JOIN命令

时间:2017-04-13 18:46:21

标签: irc

使用自己的IRC客户端并提出一些问题。

当我加入频道时,在发送JOIN命令后,我从IRC服务器得到多个响应。它们按此顺序出现:

-Server重复/验证JOIN命令

-Server发送频道主题

-Server发送加入频道中的用户列表(由于IRC上的邮件大小限制,有时可能会以块的形式发送)。

第一个问题:流量是否正确?

第二个问题:我保证服务器会在发送更多命令之前发送所需的所有内容。 (例如,如果我加入一个频道,那么有人碰巧在完成JOIN响应完成之前发送一个PRIVMSG,服务器会在发送PRIVMSG之前完成JOIN)

我希望这是有道理的! 感谢

2 个答案:

答案 0 :(得分:0)

是的,您应该始终在任何其他渠道事件(如PRIVMSG)之前从服务器获取JOIN。

答案 1 :(得分:0)

  

第一个问题:流量是否正确?

是。对于JOIN命令,服务器将发送以下三个响应。

回应1::<UserJID> JOIN :<ChannelName>
回复2::<Domain> <[RPL_TOPIC][1]> <NickName> <ChannelName> :<Topic>
回应3:
:<Domain> <[RPL_NAMREPLY][1]> <NickName> = <ChannelName> : <NameList> :<Domain> <[RPL_ENDOFNAMES][1]> <NickName> <ChannelName> :End of Names list

  

第二个问题:我保证服务器会在发送更多命令之前发送所需的所有内容。 (例如,如果我加入一个频道,那么有人碰巧在完成JOIN响应完成之前发送一个PRIVMSG,服务器会在发送PRIVMSG之前完成JOIN)

是的,我们可以肯定。在完成JOIN过程之前,服务器不应向该频道发送任何消息。

PS:在某些客户端中必须发送响应3以完成JOIN命令过程,而某些客户端将单独继续1和2。