IRC无识别响应(c++)



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

  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 closedn");
        }
        else {
            printf("recv failed: %dn", WSAGetLastError());
            return 1;
        }
    } while (initResult > 0);
 }

您的USER命令缺少值。

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

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

希望这对你有帮助!

相关内容

  • 没有找到相关文章

最新更新