求教,关于冗余连接的问题
我现在要做某个协议处理程序,就是在客户机和服务器之间建立连接,收发数据。但是为了保证可靠性,必须建立多个冗余的连接,某一个时刻只能有一个连接用于传输数据,其余的连接每隔一段时间测试一下连接有没有问题,在传输数据过程中,一旦用于数据传输的连接出现问题,就停止传输,从冗余的连接中选出一个连接继续进行数据传输。我想用reactor来做,不知道合不合适? 当然可以了。 我想用单线程来做,但是一个ACE_Event_Handler的对象又只能处理一个连接,用在我的这个问题上总觉得很麻烦,不知道ACE里面有没有其它的类可以满足我这个需求的?另外ACE里面有提供类似linux里面select作用的的函数吗,还是说都封装起来了? Reactor在linux下的默认实现即封装了select即Select_Reactor,
windows默认实现是WFMO_Reactor,下如果确认使用单线程的话,
可以考虑使用Select_Reactor,内部消除了很多同步锁机制。
考虑性能与伸缩性TP_Reactor是另一个不错选择。
另外ACE对平台Select函数肯定有封装了,
参考ACE_OS::select 这个设计思想不太好,会有很多问题,为什么不用现成的下沉容错机制?
页:
[1]