位置: 编程技术 - 正文

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)

  • 实收资本印花税是一年一交吗
  • 企业所得税应纳税所得额怎么算
  • 建筑业挂靠企业所得税如何收取
  • 无形资产属于货币性项目吗
  • 分公司可以独立承担法律责任吗
  • 跨年度项目预算怎么安排
  • 合伙企业借款利息收入个税
  • 资产负债表里是科目还是项目
  • 企业重组失败会怎么样
  • 销售票据和发票的区别是什么?
  • 应收银行存款利息怎么算
  • 出租屋物品损坏怎么赔偿
  • 社保基数与个税缴纳基数一致
  • 普票红冲部分金额的发票怎么开
  • 发票章盖收据会被税务局罚款吗
  • 计提增值税会计账务处理
  • 保障性住房享有怎么取消儿子的名字呀
  • 企业所得税业务招待费扣除比例
  • 土地增值税的纳税人是在我国境内
  • 付款信息和开票信息区别
  • 1697506445
  • 钢材增值税发票
  • 审计调整以前年度投资收益怎么处理
  • 工程上的材料费进什么科目
  • 系统日志在哪里打开
  • 企业间贴现手续费怎么记账?
  • 进项大于销项会计分录
  • linux系统中安装web服务
  • 电冰箱一天用多少电费正常
  • 投标保证金退回是什么意思
  • PHP:session_start()的用法_Session函数
  • 老板垫资如何做账务处理
  • oawrapper.exe是什么
  • 彻底清理缓存
  • 短期借款利息计算
  • 因汇率变动而导致的损失属于
  • php分页技术
  • 【机器学习面试总结】————(一)
  • db2diag命令
  • 支付价款含不含增值税
  • 新租赁准则下的会计分录
  • 购销农副产品需要交税吗
  • 企业的专利年费是多少
  • 企业适用的增值税税率
  • 填制和审核会计凭证,可以监督各项经济业务的合法
  • mysql触发器使用
  • mysql的存储引擎有哪些,区别是什么
  • 借应付职工薪酬贷财政拨款收入
  • 物业公司代收取暖费怎么缴纳税额
  • 临时工的工资如何申报个税
  • 小规模纳税人营改增税率
  • 商业承兑汇票贴现流程
  • 商业承兑过期后可以退回吗
  • 存货过期报废进项税额怎么处理
  • 发票入账但是没付款有什么税务风险
  • 持有待售的非流动资产减值能转回吗
  • 发票丢失记账联入账
  • 注册公司认缴和实缴的风险区别
  • 哪些单位需要缴纳残疾人保障金
  • 税控盘网上抄报税的步骤
  • mysql应用案例
  • freebsd更新命令
  • win7系统如何卸载office2007
  • f11一键恢复系统详解
  • u盘运行win10系统
  • windows8.1crazy error
  • ms-dos 6.2批处理文件高级指南
  • js表单验证实例怎么写
  • pyqt用法
  • jQuery中Nicescroll滚动条插件的用法
  • 关于减肥的好方法
  • js生成excel文件
  • canvas基础
  • python中的range和arange
  • win7怎么装python3.8
  • 国家税务总局介绍
  • 车辆购置税查询官网四川
  • 济南市中区税务局办税大厅
  • 代理记账公司成本怎样结转的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设