【发布时间】:2013-06-07 00:35:27
【问题描述】:
我在 IRC 机器人中发送以下内容:
bot->message("chanserv", "op #channel");
bot->raw("KICK #channel " + this->nick(args[0]) + " :RIPIP");
sleep(2000); // even tried sleepin
bot->message("chanserv", "deop #channel");
我看到它通过套接字发送
PRIVMSG chanserv :op #channel
KICK #channel baduser :RIPIP
PRIVMSG chanserv :deop #channel
:hobana.freenode.net 482 username #channel :You're not a channel operator
但随后它会返回一个数据包,说明您不是操作员,然后是操作/解操作响应数据包。
【问题讨论】:
-
请不要向多个语言标签发送垃圾邮件...
-
听起来像是服务器的缓冲问题。
-
我正在使用 hiphop 将 php 编译成 c++,然后将嵌入式 python 用于插件
-
是否 bot->mesage 被缓冲而 bot->raw 未被缓冲?如果 TCP 数据包被 发送 乱序,我会非常感到惊讶,但即使它们是,只要数据以正确的顺序进入流,它就会来以相同的顺序输出。你检查过数据包嗅探器吗?
-
自以为是,TCP“数据包”并不是真正的“发送”。 IP包是。也许不正常。并且被重新组装和重新排序以在接收端产生数据流。 AFAIK,您无法读取“乱序”TCP 流。你确定你在这里使用的是 TCP 而不是 UDP?