使用Reactor来管理ACE_Sock_Acceptor

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,这是不可能的。

阅读更多
文章标签: socket input
想对作者说点什么? 我来说一句

dotNET Reactor 使用步骤图解

2013年04月21日 527KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭