C#的TCP连接,怎样保持客户端和服务器端一直连接着?

C#的TCP连接,怎样保持客户端和服务器端一直连接着?,第1张

只要不执行Socket.Shutdown(),Socket.Close().就会一直连着。当然有时候网络不稳定,可能会失去连接,这时候你使用握手协议,始终监控连接即可。具体做法可以google一下。

RoseHA双机系统的两台服务器(主机)都与磁盘阵列(共享存储)系统直接连接,用户的操作系统、应用软件和RoseHA高可用软件分别安装在两台主机上,数据库等共享数据存放在存储系统上,两台主机之间通过私用心跳网络连接。配置好的系统主机开始工作后,RoseHA软件开始监控系统,通过私用网络传递的心跳信息,每台主机上的RoseHA软件都可监控另一台主机的状态。当工作主机发生故障时,心跳信息就会产生变化,这种变化可以通过私用网络被RoseHA软件捕捉。当捕捉到这种变化后RoseHA就会控制系统进行主机切换,即备份机启动和工作主机一样的应用程序接管工作主机的工作(包括提供TCP/IP网络服务、存储系统的存取等服务)并进行报警,提示管理人员对故障主机进行维修。当维修完毕后,可以根据RoseHA的设定自动或手动再切换回来,也可以不切换,此时维修好的主机就作为备份机,双机系统继续工作。

RoseHA实现容错功能的关键在于,对客户端来说主机是透明的,当系统发生错误而进行切换时,即主机的切换在客户端看来没有变化,所有基于主机的应用都仍然正常运行。RoseHA采用了虚拟IP地址映射技术来实现此功能。客户端通过虚拟地址和工作主机通讯,无论系统是否发生切换,虚拟地址始终指向工作主机。在进行网络服务时, RoseHA提供一个逻辑的虚拟地址,任何一个客户端需要请求服务时只需要使用这个虚拟地址。正常运行时,虚拟地址及网络服务由主服务器提供。当主服务器出现故障时,RoseHA会将虚拟地址转移到另外一台服务器的网卡上,继续提供网络服务。切换完成后,在客户端看来系统并没有出现故障,网络服务仍然可以使用。除IP地址外,HA还可以提供虚拟的计算机别名供客户端访问。对于数据库服务,当有主服务器出现故障时,另外一台服务器就会自动接管,同时启动数据库和应用程序,使用户数据库可以正常操作。

如何让ssh连接服务器或者sshtunnel保持连接其实也很方便,只要在/etc/ssh/ssh_config文件里加两个参数就行了TCPKeepAlive

yes

#保持连接

www.dnjsb.com

ServerAliveInterval300

#每过5分钟发一个数据包到服务器表示我还活着如果你没有root权限,修改或者创建~/.ssh/ssh_config也是可以的.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/571972.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-03
下一篇2023-07-03

发表评论

登录后才能评论

评论列表(0条)

    保存