|
在学习马维达翻译的中篇《ACE程序员教程》中第6章Reactor时,按照上面写了MyAcceptHandler和MyInputHandler-
- int MyInputHandler::handle_input(ACE_HANDLE fd)
- {
- ACE_DEBUG((LM_DEBUG, "Receive message"));
- peer_.recv_n(buffer, BUFFERSIZE);
- ACE_DEBUG((LM_DEBUG, "%s\n", buffer));
- buffer[0] = '\0';
- //keep register with reactor
- return 0;
- }
复制代码 结果在客户端调用-
- stream.send_n(msg1, 6);
- stream.close();
复制代码 最后int MyInputHandler::handle_input(ACE_HANDLE fd)会调用两次,但是第二次什么也收不到
在客户端这样调用- stream.send_n(msg1, 6);
- stream.send_n(msg2, 6);
- stream.close();
复制代码 结果和上面的情况一样,只能收到msg1, msg2收不到,但是handle_input也会调用两次,而第二次什么也收不到。 |
|