仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 562|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 来一发CentOS下TCP断线监测

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:29:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛![size=14.4444446563721px]TCP一般的断开,通讯两边(办事端和客户端)都是能晓得的。可是非一般的断开,好比间接拔失落了网线,就只能靠以下两种***,完成短工夫内的检测。
[size=14.4444446563721px]一,心跳包机制
[size=14.4444446563721px]心跳包机制,是网游计划中的经常使用机制。从用户层面,本人发包往判别对方连线形态。能够依据情形,很天真的利用。好比,20秒发送一个最小的数据包(也能够依据实践情形稍带一些其他数据)。假如发送没有回应,就判别对方失落线了。
[size=14.4444446563721px]二,使用tcp_keepalive机制
[size=14.4444446563721px]使用TCP的机制,经由过程设置体系参数,从体系层面,监测tcp的毗连形态。以下为linux下的***:
[size=14.4444446563721px]1,起首检察体系tcp_keepalive相干参数(centos和Ubuntu)
[size=14.4444446563721px]#sysctl-a|greptcp_keepalive
[size=14.4444446563721px]显现以下:
[size=14.4444446563721px]


[size=14.4444446563721px]net.ipv4.tcp_keepalive_intvl=75
net.ipv4.tcp_keepalive_probes=9
net.ipv4.tcp_keepalive_time=7200

[size=14.4444446563721px]分离说一下这三个参数:
[size=14.4444446563721px]tcp_keepalive_time参数:
[size=14.4444446563721px]是指TCP发送keepalive动静的频度,默许为7200秒,也就是两个小时。
[size=14.4444446563721px]keepalive_intvl参数:
[size=14.4444446563721px]当探测没有确认时,从头发送探测的频度。默许是75秒。
[size=14.4444446563721px]keepalive_probes参数:
[size=14.4444446563721px]在认定毗连生效之前,发送几个TCP的keepalive探测包。默许值是9次。
[size=14.4444446563721px]--------------------------------------------------------------------
[size=14.4444446563721px]2,修正体系的tcp_keepalive相干参数
[size=14.4444446563721px]在晓得以上三个体系参数的界说和感化以后,我们来修正一下这三个参数:
[size=14.4444446563721px]修正/etc/sysctl.conf文件:
[size=14.4444446563721px]#vi/etc/sysctl.conf
[size=14.4444446563721px]在翻开的文件中,到场以下三行:
[size=14.4444446563721px]net.ipv4.tcp_keepalive_intvl=1
net.ipv4.tcp_keepalive_probes=1
net.ipv4.tcp_keepalive_time=5

[size=14.4444446563721px]保留文件。
[size=14.4444446563721px]--------------------------------------------------------------------
[size=14.4444446563721px]3,重启办事器。
[size=14.4444446563721px]#reboot
[size=14.4444446563721px]附注:大概一时使体系设置失效也行:#sysctl-p
[size=14.4444446563721px]
[size=14.4444446563721px]--------------------------------------------------------------------
[size=14.4444446563721px]4,修正步伐代码局部。
[size=14.4444446563721px]注重:仅仅设置内核参数是不敷的,还必需在编程的时分设置套接字的选项,挪用函数是
socket.setsockopt(level,optname,value)
示例:
level为SOL_SOCKET的话,选项为SO_KEEPALIVE,值为布尔。

[size=14.4444446563721px]socket.setsockopt(socket.SOL_SOCKET,socket.SO_KEEPALIVE,True)
[size=14.4444446563721px]
[size=14.4444446563721px]别的还能够设置TCP选项(设置的level为SOL_TCP而不是SOL_SOCKET)掩盖体系全局设置
TCP_KEEPCNT与tcp_keepalive_probes对应
TCP_KEEPIDLE与tcp_keepalive_time对应
TCP_KEEPINTVL与tcp_keepalive_intvl对应

[size=14.4444446563721px]
[size=14.4444446563721px]--------------------------------------------------------------------
[size=14.4444446563721px]自创文章:
[size=14.4444446563721px]http://blog.sina.com.cn/s/blog_a2d4803001013hrk.html
[size=14.4444446563721px]http://blog.chinaunix.net/uid-23849526-id-274740.html
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
柔情似水 该用户已被删除
沙发
发表于 2015-1-16 18:41:47 | 只看该作者

来一发CentOS下TCP断线监测

熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
若天明 该用户已被删除
板凳
发表于 2015-1-22 17:27:24 | 只看该作者
其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?
分手快乐 该用户已被删除
地板
发表于 2015-1-31 14:52:07 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-6 20:50:04 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-18 19:30:11 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-6 11:00:56 | 只看该作者
未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。
莫相离 该用户已被删除
8#
发表于 2015-3-13 01:09:27 | 只看该作者
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
9#
发表于 2015-3-20 09:45:14 | 只看该作者
未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-23 07:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表