互联网中继聊天 rfc 实现
Posted
技术标签:
【中文标题】互联网中继聊天 rfc 实现【英文标题】:Internet Relay Chat rfc implementation 【发布时间】:2015-04-10 21:48:41 【问题描述】:我目前正在编写一个 Internet 中继聊天客户端/服务器实现。 我阅读了 RFC 1459,但有些地方我还不清楚。
首先假设我们有三个用户 A、B 和 C。 A 发布频道消息,我应该将其发送回 A、B 和 C 还是只发送给 B 和 C?我的意思是A的客户应该自己处理帖子吗?
第二点是,我想处理用户 /join 多个频道的可能性。 那么我该如何处理我的用户一次只能发布到一个频道的事实呢? RFC 对此并不清楚。
问候,斯旺
【问题讨论】:
【参考方案1】:在第一个意义上没有。消息不会广播,因此用户不会收到自己的消息。
发送消息时,您需要提供目的地。无论是用户还是渠道。所以PRIVMSG #channel :hello world
会将该消息定位到#channel
。该房间中的其他用户将收到以下信息:
:juco!~juco@hostname.com PRIVMSG #example :Hello world
这在4.4.1 Private messages中有更详细的解释。
【讨论】:
这也是我的想法,但3.2.2 To a ground (channel) 似乎与您的第一点背道而驰,但其他部分证实了这一点,非常不清楚。例如,如果用户 A 写“Hello world!”它会被“PRIVMSG #currentActiveChannel :Hello world !”替换吗? ?” 你说得对,我的回答完全不正确。我刚刚远程登录到几个 IRC 服务器来验证这一点,并相应地更新了我的答案。 那么第二部分呢,你确认我的想法了吗? @SwannPolydor:由用户的客户端来跟踪“活动频道”并将他们的频道消息发送到正确的位置。就服务器而言,来自客户端的每条消息都带有明确的目的地(频道或用户)。以上是关于互联网中继聊天 rfc 实现的主要内容,如果未能解决你的问题,请参考以下文章