加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ACE_Dev_Poll_Reactor示例

发布时间:2020-12-15 05:03:17 所属栏目:百科 来源:网络整理
导读:1 #include iostream 2 using namespace std; 3 4 " ace/Init_ACE.h 5 6 ace/INET_Addr.h 7 ace/SOCK_Stream.h 8 ace/SOCK_Connector.h 9 ace/SOCK_Acceptor.h 10 ace/Acceptor.h 11 12 ace/Reactor.h 13 ace/Dev_Poll_Reactor.h 14 ace/Event_Handler.h 15
1 #include < iostream >
2 using namespace std;
3 4 " ace/Init_ACE.h 5 6 ace/INET_Addr.h 7 ace/SOCK_Stream.h 8 ace/SOCK_Connector.h 9 ace/SOCK_Acceptor.h 10 ace/Acceptor.h 11 12 ace/Reactor.h 13 ace/Dev_Poll_Reactor.h 14 ace/Event_Handler.h 15 ace/Svc_Handler.h 16 17 class TestHandler;
18 typedefACE_Acceptor TestHandler,ACE_SOCK_ACCEPTOR TestAccptor;
19 20 TestHandler: public ACE_Svc_Handler ACE_SOCK_STREAM,ACE_NULL_SYNCH 21 {
22public:
23typedefACE_Svc_Handler<>super;
24
25intopen(void*/*=0*/);
26handle_input(ACE_HANDLEfd=ACE_INVALID_HANDLE27handle_output(ACE_HANDLEfd28handle_close(ACE_HANDLE,ACE_Reactor_Mask=ACE_Event_Handler::ALL_EVENTS_MASK29} ;
30 31 int TestHandler::open( void * )
32 33returnreactor()->register_handler(this3435 36 TestHandler::handle_input(ACE_HANDLEfd)
37 38charbuf[128]={0};
39retpeer().recv(buf,12740if(ret<=)41-1424344buf[ret]45printf("%s 464748 49 TestHandler::handle_output(ACE_HANDLEfd)
50 5152ACE_OS::sprintf(buf,0);">client%uget_handle());
53peer().send(buf,strlen(buf));
5455cancel_wakeup(//SelectisLT565758 59 TestHandler::handle_close(ACE_HANDLE,ACE_Reactor_Mask)
60 61delete626364 65 main( 66 67ACE::init();
6869ACE_Dev_Poll_Reactordev_reactor(102470ACE_Reactorreactor(&dev_reactor);
71ACE_Reactor::instance(reactor);
7273TestAccptoraccptor;
74ACE_INET_Addraddr(1000075(accptor.open(addr)==76cout<<Openportfailed..endl;
7778 7980
Openportok..endl;
818283ACE_Reactor::instance()run_reactor_event_loop();
84ACE::fini();
8586

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读