位置: 编程技术 - 正文

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)

  • 进项税额转出会计分录月末如何结转
  • 开具增值税发票未报送是什么意思?
  • 工会经费计入成本费用
  • 发票开做红冲的会计分录怎么做
  • 工资表领导签字怎么签
  • 个人代人开普票个税怎么算
  • 购进蔬菜的进项税额
  • 股东退股分红怎么拿回
  • 收到增值税专用发票怎么处理
  • 本月征期2021
  • 调低社保基数怎么操作
  • 股东投资款印花税多少
  • 招标文件费属于哪类税收编码
  • 房屋租赁合同如何办理
  • 每月免税10万是什么意思
  • 异地预缴企业所得税会计分录
  • 小规模纳税人不开票收入填在哪里
  • 兼职劳务费个税怎么算
  • 专用发票不报销对公司有影响吗
  • 幼儿园收的保教费是什么费
  • 申请双软企业会查员工学历吗
  • 按揭的车可以只买交强险吗
  • 不能升级win11的二手电脑值得购买吗
  • win10数字雨
  • mac u盘
  • 房地产公司的存货分析
  • 利用网速测试器测试
  • 怎么做win8系统u盘pe
  • 手机如何测试网络稳定性
  • 工程机械设备租赁价格
  • php面向对象详解
  • 正常开机进不去系统
  • backup是什么文件夹怎么能打开
  • 鹤望兰的养殖方法和注意事项浇水
  • 塔河流域
  • 在筹建期间发生的开办费
  • 制造业企业资金如何循环周转
  • flask实现登录
  • linux进程状态有哪些
  • PHP strcmp()和strcasecmp()的区别实例
  • 单文件php文件列表
  • php读取文件内容的方法和函数
  • 收到工会经费返还做收入吗
  • php array_fill
  • 新政府会计制度与旧制度区别
  • 快递公司的收件员好干吗
  • mongodb用户权限
  • 购货销售折让会计分录
  • 资产减值损失包括什么
  • 销售自己使用过的固定资产
  • 先付款后签协议是否违法
  • 资源税的征税对象都是原矿和选矿
  • acca考试安排及时间
  • 研发支出费用化对财务报表的影响
  • 电商平台返佣金个人税点
  • 公司认缴没有实缴会有什么风险
  • 老板怎么从公户拿钱
  • 投资方收到股票怎么处理
  • 会计月末都需要做什么
  • 升级完鸿蒙系统5G咋没有了
  • freebsd操作命令
  • wfxsnt40.exe - wfxsnt40是什么进程
  • WINDOWS操作系统属于什么操作系统
  • win8系统分辨率调不了
  • linux忘了root密码
  • win7隐藏账户
  • scm是啥
  • glrotatef函数
  • 讯飞src
  • Python中MySQLdb和torndb模块对MySQL的断连问题处理
  • android 加载更多
  • numpy使用心得
  • unity2020怎么导入资源
  • jquery 跨域方法
  • 征管法第六十三条的内容
  • 电子税务局错误代码
  • 第十三个人
  • 自然人扣缴端初始密码
  • 给派出所写情况说明房屋情况怎么写啊
  • 电子客票号码8768是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设