换行 IRC 协议

Posted

技术标签:

【中文标题】换行 IRC 协议【英文标题】:Linebreak IRC protocol 【发布时间】:2011-10-25 18:02:26 【问题描述】:

我已经用 java 编写了一个 IRC 机器人,但是我遇到了以下问题:我有一个帮助函数,它可以通过私人消息将机器人的所有功能(用法、示例、...)返回给用户。

问题是,如果我逐行发送此消息,消息会排队,并且发送一个帮助请求可能需要长达 10 秒的时间。

现在我通过将所有帮助功能放在一条消息中解决了这个问题,但当然所有内容都放在了 1 行。这对可读性不利。

有没有办法使用 irc 协议来格式化消息,尤其是换行符? (来自 java 的 /n 不起作用)

如果没有这样的选项,最好的方法是使它更具可读性?

【问题讨论】:

【参考方案1】:

这是不可能的。来自 IRC RFC 1459:

IRC 消息总是以 CR-LF 结尾的字符行(回车 - 换行)对,这些消息不应 长度超过 512 个字符,计算所有字符,包括 尾随的 CR-LF。

我从未在 IRC 中看到过带有换行符的消息。

【讨论】:

我会尝试在消息之间添加一个小的延迟,这样您就不会触发服务器端减速。

以上是关于换行 IRC 协议的主要内容,如果未能解决你的问题,请参考以下文章

Irc 客户端识别协议“无识别响应”

IRC 协议 - 使用密码注册到服务器

试图写一个 IRC 客户端,但很难找到关于代码和连接协议的好资源

选择正确的聊天协议实现

什么是 IRC?

基于 .NET 的 IRC 服务器