找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 6028|回复: 4

求教,关于冗余连接的问题

[复制链接]
发表于 2009-8-27 20:25:15 | 显示全部楼层 |阅读模式
我现在要做某个协议处理程序,就是在客户机和服务器之间建立连接,收发数据。但是为了保证可靠性,必须建立多个冗余的连接,某一个时刻只能有一个连接用于传输数据,其余的连接每隔一段时间测试一下连接有没有问题,在传输数据过程中,一旦用于数据传输的连接出现问题,就停止传输,从冗余的连接中选出一个连接继续进行数据传输。
我想用reactor来做,不知道合不合适?
发表于 2009-8-28 10:40:11 | 显示全部楼层
当然可以了。
 楼主| 发表于 2009-8-31 10:51:06 | 显示全部楼层
我想用单线程来做,但是一个ACE_Event_Handler的对象又只能处理一个连接,用在我的这个问题上总觉得很麻烦,不知道ACE里面有没有其它的类可以满足我这个需求的?另外ACE里面有提供类似linux里面select作用的的函数吗,还是说都封装起来了?
发表于 2009-8-31 10:58:49 | 显示全部楼层
Reactor在linux下的默认实现即封装了select即Select_Reactor,
windows默认实现是WFMO_Reactor,下如果确认使用单线程的话,
可以考虑使用Select_Reactor,内部消除了很多同步锁机制。
考虑性能与伸缩性TP_Reactor是另一个不错选择。

另外ACE对平台Select函数肯定有封装了,
参考ACE_OS::select
发表于 2009-9-24 22:54:11 | 显示全部楼层
这个设计思想不太好,会有很多问题,为什么不用现成的下沉容错机制?
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-23 16:25 , Processed in 0.017333 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表