ACE编程准则全记录(一)--反应器

 前言     ACE框架的使用是相互依存的,各个框架通过遵循一定的准则来相互配合,共同完成特定的功能。如果你违反了这些约定,幸运的话在调试期可以发现错误(程序的崩溃),不幸的话在程序运行期发生不希望看到的结果(如连接无法正常关闭)。本系列文章记载怎样遵循这些规则来正确使用ACE。场景    平台:Windows XP,ACE5.5,VS2005    通过反应器模式和继承自ACE_Event_H
摘要由CSDN通过智能技术生成
 前言
    ACE框架的使用是相互依存的,各个框架通过遵循一定的准则来相互配合,共同完成特定的功能。如果你违反了这些约定,幸运的话在调试期可以发现错误(程序的崩溃),不幸的话在程序运行期发生不希望看到的结果(如连接无法正常关闭)。本系列文章记载怎样遵循这些规则来正确使用ACE。

场景
    平台:Windows XP,ACE5.5,VS2005
    通过反应器模式和继承自ACE_Event_Handler的特定事件处理器处理socket IO事件。通过CTRL + C回调信号事件处理器,代码如下:
void  handle_sig( int )
{
    ACE_TRACE( ACE_TEXT(
"handle_sig"));
    ACE_Reactor::instance()
->end_reactor_event_loop();
}


int  WFMO_Reactor_Test()
{
    ACE_TRACE(ACE_TEXT(
"WFMO_Reactor_Test"));
    ACE_INET_Addr addr(
5678);
    Acceptor acceptor(addr);
    
if (acceptor.start() == -1)
        ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT(
"%p "), ACE_TEXT("Listen")), -1);
    ACE_DEBUG((LM_DEBUG, ACE_TEXT(
"Service start...... ")));
    ACE_Reactor::instance()
->run_reactor_event_loop();
    ACE_DEBUG((LM_DEBUG, ACE_TEXT(
"Service stop!!! ")));
    
return 0;
}

int  ACE_TMAIN( int , ACE_TCHAR  * [])
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值