linux tcp 断线检测,CentOS下TCP断线监测
TCP正常的断开,通信双方(服务端和客户端)都是能知道的。但是非正常的断开,比如直接拔掉了网线,就只能靠如下两种方法,实现短时间内的检测。
一,心跳包机制
心跳包机制,是网游设计中的常用机制。从用户层面,自己发包去判断对方连线状态。可以根据情况,很灵活的使用。比如,20秒发送一个最小的数据包(也可以根据实际情况稍带一些其他数据)。如果发送没有回应,就判断对方掉线了。
二,利用tcp_keepalive机制
利用TCP的机制,通过设置系统参数,从系统层面,监测tcp的连接状态。以下为linux下的方法:
1,首先查看系统tcp_keepalive相关参数(centos和Ubuntu)
# sysctl -a|grep tcp_keepalive
显示如下:
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200
分别说一下这三个参数:
tcp_keepalive_time 参数:
是指TCP发送keepalive消息的频度,默认为7200秒,也就是两个小时。
keepalive_intvl 参数:
当探测没有确认时,重新发送探测的频度。默认是75秒。
keepalive_probes 参数:
在认定连接失效之前,发送多少个TCP的keepalive探测包。默认值是9次。
--------------------------------------------------------------------
2,修改系统的tcp_keepalive相关参数
在知道以上三个系统参数的定义和作用之后,我们来修改一下这三个参数:
修改/etc/sysctl.conf文件:
# vi /etc/sysctl.conf
在打开的文件中,加入如下三行:
net.ipv4.tcp_keepalive_intvl = 1
net.ipv4.tcp_keepalive_probes = 1
net.ipv4.tcp_keepalive_time = 5
保存文件。
--------------------------------------------------------------------
3,重启服务器。
# reboot
附注:或者临时使系统设置生效也行:# sysctl -p
--------------------------------------------------------------------
4,修改程序代码部分。
注意:仅仅配置内核参数是不够的,还必须在编程的时候设置套接字的选项,调用函数是
socket.setsockopt(level, optname, value)
示例:
level为SOL_SOCKET的话,选项为SO_KEEPALIVE,值为布尔。
socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, True)
此外还可以设置TCP选项(设置的level为SOL_TCP而不是SOL_SOCKET)覆盖系统全局设置
TCP_KEEPCNT 与tcp_keepalive_probes 对应
TCP_KEEPIDLE 与tcp_keepalive_time 对应
TCP_KEEPINTVL 与tcp_keepalive_intvl 对应
--------------------------------------------------------------------
借鉴文章:
http://blog.sina.com.cn/s/blog_a2d4803001013hrk.html
http://blog.chinaunix.net/uid-23849526-id-274740.html
本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。
linux tcp 断线检测,CentOS下TCP断线监测相关推荐
- linux安装appt服务,Centos下pptd ***搭建
Centos下pptd ***搭建 *** 服务器ip: 172.16.113.40 *** :10.0.0.1 linux 客户端: 172.16.113.41 一 .***服务器配置 # yum ...
- linux locale字符集设置,CentOS下通过locale来设置字符集
转载:http://www.centoscn.com/CentOS/config/2013/1013/1784.html 在Centos中通过locale来设置程序运行的不同语言环境,locale由A ...
- linux cron指定用户,Centos下crontab指定执行用户
Centos下可以通过配置crontab来定时执行任务,执行体可以是一条系统命令或自己写的一个脚本,同时可以指派用户来执行.配置crontab有两种方法. 方法1.使用crontab命令,例如添加一个 ...
- linux vnc服务重启,CentOS下配置VNCServer,重启服务仍然生效
CentOS下配置VNC Server,重启服务,配置仍然生效的方法: 本文前提:系统已安装好gnome桌面,如果没有请执行下面的命令安装即可. yum groupinstall "Desk ...
- linux 单网卡 路由,CentOS下双网卡单网关路由配置
CentOS下双网卡单网关路由配置 假定主机的网卡1的IP地址为:219.223.244.233/21,网卡2的IP地址为:219.223.242.216/21单网为:219.223.240.1(这里 ...
- linux 卸载yum源,CentOS下rpm包与yum安装与卸载更新系统源
CentOS下rpm包与yum安装与卸载 一.rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --forc ...
- siesta在Linux运行,siesta在centos下编译问题
新虫求教关于siesta在centos下的编译问题. 配置:centos6.5 ifort, mpi,mkl等用的都是intel composer xe 2016 内含的包.siesta 包使用的是s ...
- linux w3m 使用方法,CentOS下安装w3m,及w3m的使用
centos下安装软件的命令不是apt-get,而是yum,如果安装w3m,利用sudo yum install w3m w3m-img -y即可 △△△△△△△△如果你用的是centos或readh ...
- linux pt 下载软件,centos下pt下载软件rtorrent使用
centos下epel源可直接安装:yum install rtorrent 配置文件.rtorrent.rc :#下载时每个种子的最大连接数 min_peers = 1 max_peers = 50 ...
最新文章
- ROS话题通信中创建自定义数据类型的两种方式
- ffmpeg 解码rtp方法
- 操作系统是计算机软件的核心 它直接监管,华工 网络 操作系统课后作业
- 解决GIT代码仓库不同步问题
- python中map函数的用法
- 云服务器 ECS 建站教程:部署Linux主机管理系统WDCP
- 鸿蒙官网首页,鸿蒙官网-鸿蒙手游官网首页最新版预约 v1.0-优盘手机站
- android viewflipper 动态加载,Android开发之ViewFlipper自动播放图片功能实现方法示例...
- C/C++ Dev-cpp 5.4.0下载安装包,百度网盘
- 三连杆机械臂正运动学python模拟——运动学学习(一)
- 2022年北京航空航天大学计算机考研复试时间与复试内容
- iOS开发 frame与bounds
- 中国企业数智化价值不高,主要是因为三个问题
- 魅族m15简单开启Usb调试模式的步骤
- 计算机审计试题及答案,计算机审计练习题及答案
- 全新MN梦奈宝塔主机系统V1.5版本源码
- java channel midi_为Java程序中添加播放MIDI音乐功能
- 美国要求签证申请人提供社交媒体账号 不给难入境
- 【python机器学习基础教程】(四)
- 广东侨乡台山人“小年夜”喜用传统沙琪玛祭灶
热门文章
- 简述数学建模的过程_数学建模的基本步骤
- 用python画爱心再加一行文字_如何理解python一行代码实现一个爱心字符画?
- python刷题总结_【python刷题】差分数组
- java resume过时方法_面试官没想到,一个 Java 线程生命周期,我可以扯半小时
- 地大武汉的计算机网络工程师,2021年中国地质大学(武汉)电子信息(085400)计算机网络与信息安全技术及应用_考研专业目录_考试科目_考试范围 - 学途吧...
- java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...
- api接口响应类型定义
- 服务链路追踪(Spring Cloud Sleuth)
- html中的div span和frameset框架标签
- java反射机制浅谈