IRC 无身份响应 (C++)
IRC no ident response (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 closed\n");
}
else {
printf("recv failed: %d\n", WSAGetLastError());
return 1;
}
} while (initResult > 0);
}
您的 USER 命令缺少值。
它应该包含四个参数,其中第二个和第三个可以简单地用占位符填充,例如“*”。参见:https://www.rfc-editor.org/rfc/rfc1459#section-4.1.3
您也不是 运行 端口 113 上的身份服务器,但根据 RFC1459 这是可选的。
希望对您有所帮助!
所以,我正在制作一个机器人来监控我的 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 closed\n");
}
else {
printf("recv failed: %d\n", WSAGetLastError());
return 1;
}
} while (initResult > 0);
}
您的 USER 命令缺少值。
它应该包含四个参数,其中第二个和第三个可以简单地用占位符填充,例如“*”。参见:https://www.rfc-editor.org/rfc/rfc1459#section-4.1.3
您也不是 运行 端口 113 上的身份服务器,但根据 RFC1459 这是可选的。
希望对您有所帮助!