proactor中服务器端事件处理器在客户端连接成功后没有立即调用open函数?
为什么客户端连接成功后发出第一个异步写操作,而服务器的事件处理器的open函数没有立即被调用?
导致服务器没有发起异步读操作。当我客户端发出第二个异步写操作后,服务器的事件处理器才掉用open。
我得代码下载http://bluecrest.nease.net/Proactor_MyTest.rar,谢谢高手帮我分析一下啊。
(参见ace库代码文件asynch_acceptor.cpp中函数
ACE_Asynch_Acceptor<HANDLER>::handle_accept (const ACE_Asynch_Accept::Result &result)
第306行
// Initiate the handler
new_handler->open (result.accept_handle (),
意思是如果accept异步操作成功后框架调用handle_accept函数,在这个函数中调用事件处理器的open函数)