当服务器无响应时,如何让某个客户端自升为服务器?

bestbear 2005-08-11 03:07:08
同样一个程序,既可以作服务端,又可以做客户端。在局域网的多台机子上有安装,
运行时,首先有一个默认的机子上的该程序作为服务器,其他机子上的该程序作为客户端。

现在的问题是,如果默认的服务器出现异常,比如通信中断,这是需要其他本来做客户机的程序中,自动有一个升级为服务器。

想了很久,不知道怎么样设计才算好?大伙给个建议,谢了。
...全文
164 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
teli_eurydice 2005-08-15
  • 打赏
  • 举报
回复
BT 就这样做的吧
younggle 2005-08-15
  • 打赏
  • 举报
回复
以上的思路都很好啊。
轮循法、最优法都可以啊。
bestbear 2005-08-15
  • 打赏
  • 举报
回复
还有没得不同思路的啊
softrain 2005-08-12
  • 打赏
  • 举报
回复
首先由发现服务器(确实)掉线的机器广播(同一个消息发送到各个客户端,下同)一个请求服务器的消息,如果自己适合做服务器,可以同时广播一个申请服务器的消息。
然后各个客户端收到这个请求服务器的消息,判断自己是否适合做服务器,如果适合,则也广播一个申请服务器的消息。
申请了做服务器的机器收到其他的申请做服务器的消息,根据消息中携带的数据比较优劣。在某个时间段内发现没有比自己更优的消息,则广播一个自己取得了服务器资格的消息,以后这个机器就是服务器了。
windcsn 2005-08-12
  • 打赏
  • 举报
回复
这个列表在个CLIENT连接到服务器的时候建立,并分发给各个CLIENT。这样可以避免有可能造成灾难的广播消息。
windcsn 2005-08-12
  • 打赏
  • 举报
回复
设立一个备份服务器列表,列表中将能作为服务器的IP按顺序列出来,当机器发现首选服务器不工作时,就请求另一个COPY的。具体算法还是比较复杂的。
bestbear 2005-08-11
  • 打赏
  • 举报
回复
more
myy 2005-08-11
  • 打赏
  • 举报
回复
Windows的域中就有类似的机制,好象是采用“选举”机制。
dirdirdir3 2005-08-11
  • 打赏
  • 举报
回复
数据同步要处理好
Tranquillo 2005-08-11
  • 打赏
  • 举报
回复
登录时,默认服务器为每台机器编一个号,默认服务器可编为0,并且将编号的结果发送给每个客户
当服务器异常时,所有机器将会检测到与0号机器通信中断,这时1号机器自动运行服务器,其他机器尝试与1号连接,如果一定时间内1号不能连通,再试2号

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧