【发布时间】:2016-09-17 01:17:59
【问题描述】:
所以我正在用 C++ 编写一个 IRC 机器人,并且我编写了自己的发送函数
int Send(char* MessageToSend) {
initResult = send(bobSocket, MessageToSend, (int)strlen(MessageToSend), 0);
if (initResult == SOCKET_ERROR) {
printf("send failed: %d\n", WSAGetLastError());
closesocket(bobSocket);
WSACleanup();
return 1;
}
}
每当我在我的 sendmessage 函数中使用它时(循环检查消息,然后运行所有输入以发送)就像这样
while(1 > 0) {
string b;
cin >> b;
char* INPUT = const_cast<char*>(b.c_str());
Send(b);
}
但是当我将 PRIVMSG ##channel :test 放入控制台时,我在其他客户端上看不到任何内容,所以,有人可以帮忙吗?我对 stackoverflow 和 C++ 还很陌生,因此非常感谢任何反馈。
【问题讨论】:
-
所以它打印发送失败消息?或不?而 bobSocket 是一个有效的、正确连接的套接字?
-
@JasonC 不,它不打印失败的消息,并且 bobSocket 是一个有效的、正确连接的套接字,它连接到 IRC 寄存器 nick 并加入我想要的频道,但输入只是没有'不发送到 IRC 服务器。
-
你确定它没有发送到服务器吗?难道它只是没有正确的格式吗?如果您设法连接到服务器并加入房间,我敢打赌您发送的命令格式错误。
-
send返回什么? -
你错了,send总是返回一些东西。