问题描述:
有两台服务器A,B是并行的(之间可以联通)-在同一时刻只能有一台上的通信程序工作.
如A出故障(掉电,死机或通信程序没有反应),就启动B上的通信程序.
如B出故障(掉电,死机或通信程序没有反应),就启动A上的通信程序.
如两台都出故障(掉电,死机或通信程序没有反应),其中那一台先工作正常就启动那个.总之判断期中一台通信程序没有反应-就启用另一台的通信程序
问题:用什么方式来判断A,B出故障, 最好有例子. [email protected]

解决方案 »

  1.   

    感觉像是双机热备啊给个思路:
    做个监控程序
    1。A机上的监控程序给通讯程序发个消息,有返回就说明有反应;没返回就说明没反应,然后就发送消息给B机上的监控程序,B机收到消息启动B机程序,并监控与A同
    2。A机上的监控程序定时与B机的监控程序互发消息,如果有一端没有收到消息,就说明对方机器故障
       ,如果本机没启动通讯程序就启动它。
    3。启动通讯程序记录启动时间,双机都故障并重启后互发通讯程序启动时间,比较哪个早,早的那个启动通讯程序。
      

  2.   

    TCP/IP
    只是普通的winsock应用嘛,网上例子很多的
      

  3.   

    用TCP/IP-那就好。
    我用Delphi-Indy页上(TCP)的控件做了一个功能可以实现.
    就是要求要稳定,由于本人对网络开发应用不是很了解.-才发贴请教大家.
    呵呵-谢谢啦.