使用Reactor来管理ACE_Sock_Acceptor

原创 2006年06月06日 16:07:00

ACE 提供了一个好的包装ACE_Acceptor(是作为Acceptor-Connect Pattern 实现提供的)

但是比较重,有的时候我们需要自己做这件事,用reactor来驱动我们的sock_acceptor。

这个时候有几点需要注意的:

1、先sock_acceptor.open, 后enable(ACE_NONBLOCK)

2、因该用ACCEPT_MASK来注册

3、CLOSE的过程比较特殊,必须要先从reactor上remove,才可以有效的sock_acceptor.close,这也许是因为passive socket 正在被select的时候无法有效的close.

4、不要企望先sock_acceptor.close, 让后让reactor发现,进入handle_input,然后accept(peer) fail, 之后顺利的close,这是不可能的。

相关文章推荐

关于ACE静态库不能使用ACE_SOCK_Acceptor::accpet函数的迷思

同一个函数,同一个头文件,一边实现,一边应用,天经地义, 可昨天就被一个天经地义的问题给难住了。 ACE_SOCK_Acceptor类中一共定义了两个accept函数原型,   int acce...

ACE学习之ACE_INET_Addr,ACE_SOCK_Acceptor 源代码

ACE_INET_Addr 用来封装了基本的LINUX Socket的连接。   首先了解一个结构体 struct sockaddr_in { short s...

ACE中ACE_SOCK下ACE_SOCK_Acceptor类解析

ACE_SOCK_Acceptor,ACE中面对流(有连接)sock编程的接受器类,将服务器端编程的细节,步骤做了包装,让我们不需要再直接的使用OS的复杂,繁多的API函数,那么这个类中到底替我们做了...

[ACE程序员教程笔记]使用Reactor实现Accept和数据读取

ACE_Reactor实现了操作系统多路复用和应用层事件处理。本文例子程序实现Acceptor事件和输入事件两个处理类,两个处理类均采用手动的方式进行卸载处理对象。 Acceptor事件处理类,此类...
  • maxcode
  • maxcode
  • 2011年01月09日 20:51
  • 1594

ACE Reactor FrameWork使用注意事项

Ace Reactor framework 是ACE 提供的一个相对比较简单的网络服务器框架,它简化了基于事件驱动的应用程序的开发,这些程序包括了网络应用程序。这些应用程序中的事件一般包括 因io操作...

ACE_Acceptor类源码浅解析

接受器/连接器模式设计用于降低连接建立与连接建立后所执行的服务之间的耦合。例如,在WWW浏览器中,所执行的服务或“实际工作”是解析和显示客户浏览器接收到的HTML页面。连接建立是次要的,可能通过BSD...

关于ACE_Asynch_Acceptor::accept 内存泄露的问题(Windows)

问题描述 使用ACE_Proactor和ACE_Asynch_Acceptor,开发服务器端侦听客户机的连接功能时,当程序正常逻辑退出时,会发生内存泄露的问题,有时会怀疑ACE的BUG,其实不全是如此...

ACE接受器-连接器设计模式Acceptor-Connector

本贴转自http://www.cnblogs.com/TianFang/category/78013.html  作者:天方   接受器-连接器设计模式(Acceptor-Connector)使分布式...

ACE_SOCK下的几个类

ACE_SOCK_Acceptor  相当于网络编程中的Acceptor  监听客户端的请求。 /* -*- C++ -*- */ //==============================...

ACE_SOCK

该类属中的类都位于ACE_SOCK之下;它提供使用BSD socket编程接口的Internet域和UNIX域协议族的接口。这个类属中的类被进一步划分为: Dgram类, Acceptor类和Str...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Reactor来管理ACE_Sock_Acceptor
举报原因:
原因补充:

(最多只允许输入30个字)