huang_jin_min 发表于 2009-8-27 20:25:15

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

我现在要做某个协议处理程序,就是在客户机和服务器之间建立连接,收发数据。但是为了保证可靠性,必须建立多个冗余的连接,某一个时刻只能有一个连接用于传输数据,其余的连接每隔一段时间测试一下连接有没有问题,在传输数据过程中,一旦用于数据传输的连接出现问题,就停止传输,从冗余的连接中选出一个连接继续进行数据传输。
我想用reactor来做,不知道合不合适?

winston 发表于 2009-8-28 10:40:11

当然可以了。

huang_jin_min 发表于 2009-8-31 10:51:06

我想用单线程来做,但是一个ACE_Event_Handler的对象又只能处理一个连接,用在我的这个问题上总觉得很麻烦,不知道ACE里面有没有其它的类可以满足我这个需求的?另外ACE里面有提供类似linux里面select作用的的函数吗,还是说都封装起来了?

modern 发表于 2009-8-31 10:58:49

Reactor在linux下的默认实现即封装了select即Select_Reactor,
windows默认实现是WFMO_Reactor,下如果确认使用单线程的话,
可以考虑使用Select_Reactor,内部消除了很多同步锁机制。
考虑性能与伸缩性TP_Reactor是另一个不错选择。

另外ACE对平台Select函数肯定有封装了,
参考ACE_OS::select

steven99ca 发表于 2009-9-24 22:54:11

这个设计思想不太好,会有很多问题,为什么不用现成的下沉容错机制?
页: [1]
查看完整版本: 求教,关于冗余连接的问题