位置: 编程技术 - 正文

CentOS下TCP断线监测详解(centos7 tcp6)

编辑:rootadmin

推荐整理分享CentOS下TCP断线监测详解(centos7 tcp6),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:tcping centos,centos7 tcp6,centos7 tcp连接数,centos7 tcpdump,centos tcp连接数,centos7 tcp连接数,centos7 tcp连接数,centos tcp连接数,内容如对您有帮助,希望把文章链接给更多的朋友!

TCP正常的断开,通信双方(服务端和客户端)都是能知道的。但是非正常的断开,比如直接拔掉了网线,就只能靠如下两种方法,实现短时间内的检测。

一,心跳包机制

心跳包机制,是网游设计中的常用机制。从用户层面,自己发包去判断对方连线状态。可以根据情况,很灵活的使用。比如,秒发送一个最小的数据包(也可以根据实际情况稍带一些其他数据)。如果发送没有回应,就判断对方掉线了。

二,利用tcp_keepalive机制

利用TCP的机制,通过设置系统参数,从系统层面,监测tcp的连接状态。以下为linux下的方法:

1,首先查看系统tcp_keepalive相关参数(centos和Ubuntu)

# sysctl -a|grep tcp_keepalive

显示如下:

net.ipv4.tcp_keepalive_intvl =

net.ipv4.tcp_keepalive_probes = 9

net.ipv4.tcp_keepalive_time =

分别说一下这三个参数:

tcp_keepalive_time 参数:

是指TCP发送keepalive消息的频度,默认为秒,也就是两个小时。

keepalive_intvl 参数:

当探测没有确认时,重新发送探测的频度。默认是秒。

keepalive_probes 参数:

在认定连接失效之前,发送多少个TCP的keepalive探测包。默认值是9次。

--------------------------------------------------------------------

2,修改系统的tcp_keepalive相关参数

在知道以上三个系统参数的定义和作用之后,我们来修改一下这三个参数:

CentOS下TCP断线监测详解(centos7 tcp6)

修改/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 对应

--------------------------------------------------------------------

centos下关闭selinux不重启的方法 关闭SELinux的方法:修改/etc/selinux/config文件中的SELINUX=为disabled,然后重启。如果不想重启系统,使用命令setenforce0注:setenforce1设置SELinux成为enforcing模式

CentOS下找出大文件命令的方法 Q.如何在目录中找出所有大文件?A.1)句法forRedHat/CentOS/FedoraLinuxfind{/path/to/directory/}-typef-size+{size-in-kb}k-execls-lh{};|awk{print$9:$5}实例:查找当前目录下大于MB

CentOS开机自动运行自己的脚本详解 记录这个事情是上次完成之后,今天要新加一个文件夹,一时之间忘记以前怎么做了,因为有几种方法,起码我知道三种方法,这里记录一笔以前的做

标签: centos7 tcp6

本文链接地址:https://www.jiuchutong.com/biancheng/357111.html 转载请保留说明!

上一篇:Centos7安装时注意事项详解(centos7安装过程报错)

下一篇:centos下关闭selinux不重启的方法(linux如何关闭selinux)

  • 车辆购置税征收管理
  • 支付给个人的佣金费用需要发票吗
  • 普通发票附注一般填什么
  • 兼职合同工资发放
  • 季度的工会经费计税依据
  • 个人销售货物缴增值税吗
  • 进项税加计扣除什么时候开始的
  • 民营企业的待遇
  • 发出材料是借还是贷
  • 养老基金利率多少
  • 代扣业务员佣金怎么做账
  • 房产开发公司土地增值税计算方法
  • 银行借款的利息支出属于什么会计要素
  • 采购单录入、接收分配会计分录怎么写?
  • 固定资产的初始成本包括
  • 私车公用保险费用公司承担吗
  • 企业取得的信托计划分红缴企业所得税吗
  • 补交社保后的个税怎么交
  • 企业所得税税率2023年最新税率表
  • 升级后的百旺开票系统如何操作
  • 河道工程维护管理费征收
  • 我们4月10日
  • 金融性负债总额是什么
  • 跟银行借款按月还款
  • 公司购买投影仪的必要性?
  • 债务重组损益如何确定
  • 拆除原有建筑物成本扣除
  • 1697510490
  • 宿舍开店能开些啥
  • linux sed命令详解
  • 无形资产的摊销应计入什么科目
  • 个体户年报如何公示
  • 预收的购货款属于收入吗
  • lsass.exe在哪个文件夹
  • Pont Rouge (Red Bridge) over the Palmer River in Sainte-Agathe-de-Lotbinière, Quebec, Canada (© Jean Surprenant/Getty Images)
  • json与json字符串
  • vue面试题及答案2021
  • php短信验证
  • php入门实例
  • 充值款如何领取红包
  • 发票没有填写开户行,可以报销吗
  • 劳务费800以上扣税标准
  • day15-Servlet04
  • 计提工资的时候计提个税吗
  • 企业所得税季报资产总额季初季末
  • SQL Server 2008中SQL之WaitFor使用介绍
  • mysql数据库排序
  • 专项附加扣除批量上传怎么上传
  • 个体工商户开普票需要进项票吗
  • 核定征收和查账征收报税有区别吗
  • 增值税在实际计算时采取什么方法
  • 弥补以前年度亏损报表怎么填
  • 折旧完的固定资产出售
  • 公司私账银行流水
  • 去年的车辆保险今年才开怎么做分录
  • 房租费会计分录
  • 商标的使用权
  • 实收资本可以做现金吗
  • 安全生产责任险是强制险吗
  • 公户网银转账操作流程
  • 辞退员工 工资
  • 要约收购的条件和程序具体包括哪些?
  • 系统多交税款放在哪里
  • 利息收入核算什么科目
  • 私营公司应付工资的规定
  • ubuntu20.04怎么安装
  • win7系统屏幕一直闪怎么办
  • win8系统出现自动修复
  • ubuntu系统怎么用
  • Cpqset.exe是什么系统进程 Cpqset有啥作用
  • windows search进程
  • macbookpro屏幕显示
  • bat ftp上传文件
  • 深入理解新发展理念,推进供给侧结构性改革 心得体会
  • 易信安卓手机版
  • 文件名可以包含*吗
  • jquery登录注册源代码
  • javascript怎么学
  • 国家税务局湖北省税务总局
  • 企业员工可以放弃购买社保吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设