位置: 编程技术 - 正文

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)

  • 增值税金税盘开票的结论
  • 适用综合所得税率表
  • 结转应交增值税是什么意思
  • 企业季度所得税计算公式
  • 企业所得税怎么缴纳
  • 行政运行经费包括项目支出吗
  • 未开票收入下月开票怎么做分录
  • 个人投资款怎么入账
  • 企业线上销售的好处
  • 物业公司临时工的工资可以进成本吗
  • 法人 持股
  • 应付职工薪酬要结转吗
  • 劳保统筹费用
  • 非居民企业减免的利息是否交增值税
  • 印花税销售分录
  • 同程旅行酒店预订
  • 公司房租可以抵多少税
  • 稿酬所得的个税计算
  • 借应收账款贷应收账款是什么意思
  • 工程预算费用会计怎么做
  • ie浏览器打开后显示已停止工作
  • 系统属性的表现
  • 如何修复win11系统
  • win10改头像怎么删除以前的头像
  • window7怎么开机
  • 银行承兑汇票挂失手续费收费标准
  • thinkphp5.1教程
  • 麒麟软件的linux桌面操作系统
  • PostMan接口测试(很全面的接口测试教程)
  • 文化体育用品批发城有哪些
  • ai安装教程2020
  • 下载下来是php
  • discuz 移动端
  • 出口免税税务备案流程图
  • 技术服务费发票图片
  • css代码基础
  • 净资产小于注册资本
  • 企业所得税会计利润
  • 年末所得税结转怎么结转
  • 发行股票支付给证券商的费用计入哪
  • 建筑劳务公司的会计账务处理
  • 增值税税率调整后,合同价应该调整吗
  • 收到运输服务发票怎么做账务处理呢
  • 对公账户原路退回备注怎么写
  • 固定性制造费用能量差异公式
  • 财政补助结转余额在借方还是贷方
  • 经营一家淘宝店需要多少钱
  • 银行承兑汇票贴现利息计算公式
  • 会计档案步骤
  • 业务招待费管理草案探讨
  • 改制后的企业
  • 解析sql语句
  • 存储过程失效怎么办
  • mysql osc
  • mysql导入导出sql文件
  • sqlserver的分页语句
  • windows10 硬件
  • xp系统怎么关闭自动关机
  • linux怎么调整屏幕大小
  • pqv2isvc.exe - pqv2isvc是什么进程 有什么作用
  • Win10打开或关闭系统图标里开怎么灰色的
  • cocos2dx4.0教程
  • call to OpenGL ES API with no current context (logged once per thread)
  • ubuntu用root运行
  • bootstrap入门
  • json对象转化为list
  • jquery实现购物车功能(删除商品,增加和减少商品)
  • 安卓手机自定义ua
  • jquery使用教程
  • jquery的each循环
  • flask框架下使用scrapy框架
  • js 自执行
  • jquery的gt
  • android的事件处理机制
  • android 网络编程
  • androidstudio offline
  • 发票代码和发票号码有什么区别
  • 河南税务局官网手机版
  • 成都高新区办理社保在哪里?
  • 社保每个月都要交吗,不交了会怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设