【问题标题】:IRC no ident response (C++)IRC 无识别响应 (C++)
【发布时间】:2017-01-24 04:23:35
【问题描述】:

所以,我正在制作一个机器人来监控我的 IRC 频道,但我无法让它注册 ident,我不知道为什么,这是我的代码

  int count = 0;
int BeginReceive() {
    do {
        initResult = recv(bobSocket, recvbuf, recvbuflen, 0);

        if (initResult > 0) {
            printf(recvbuf);
            count++;
            std::cout << count << std::endl;
            switch (count) {
            case 2:
                Send("USER jackolalno :hello");
                Send("NICK jackololno");
                break;
            case 3:
                Send("JOIN ##bob");
            default:
                break;
            }
        }
        else if (initResult == 0) {
            printf("Connection closed\n");
        }
        else {
            printf("recv failed: %d\n", WSAGetLastError());
            return 1;
        }
    } while (initResult > 0);
 }

【问题讨论】:

  • 因为你没有 ident 服务器。这是另一回事。
  • Identd 通常也不是必需的或有用的。

标签: c++ bots irc ident


【解决方案1】:

您的 USER 命令缺少值。

它应该包含四个参数,其中第二个和第三个可以简单地用占位符填充,例如“*”。见:https://www.rfc-editor.org/rfc/rfc1459#section-4.1.3

您也很可能没有在端口 113 上运行 ident 服务器,但根据 RFC1459,这是可选的。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2020-09-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多