64,652
社区成员
发帖
与我相关
我的任务
分享
int main(int argc, char** argv)
{
CEventA *Event;
ACE_NEW_RETURN(Event, CEventA(ACE_Reactor::instance()), -1);
Event->open();
if (ACE_Reactor::run_event_loop() == -1)
{
ACE_DEBUG((LM_DEBUG, "run Reactor error"));
}
return -1;
};
int CEventA::open(int nPort)
{
return reactor()->register_handler(this, ACE_Event_Handler::ALL_EVENTS_MASK);
}
int CEventA::handle_input(ACE_HANDLE hd)
{
ACE_DEBUG((LM_DEBUG, "handle in"));
return 0;
}
int HandleAccept::open(u_short nPort)
{
inet_address_.set(nPort);
if ( acceptor_.open(inet_address_ , 1) < 0 ) return -1;
ACE_SET_BITS(mask_ ,
ACE_Event_Handler::READ_MASK | ACE_Event_Handler::WRITE_MASK | ACE_Event_Handler::ACCEPT_MASK);
std::cout<<"HandleAccept::open()"<<std::endl;
return reactor()->register_handler(this , mask_);
11.}
这里只有一个ACE_SOCK_Acceptor acceptor_的open,怎么没有事件输入也调用handle_input呢[/quote]有socket连接吧
int HandleAccept::open(u_short nPort)
{
inet_address_.set(nPort);
if ( acceptor_.open(inet_address_ , 1) < 0 ) return -1;
ACE_SET_BITS(mask_ ,
ACE_Event_Handler::READ_MASK | ACE_Event_Handler::WRITE_MASK | ACE_Event_Handler::ACCEPT_MASK);
std::cout<<"HandleAccept::open()"<<std::endl;
return reactor()->register_handler(this , mask_);
11.}
这里只有一个ACE_SOCK_Acceptor acceptor_的open,怎么没有事件输入也调用handle_input呢