位置: 编程技术 - 正文

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)

  • 附加税申报免抵税额什么意思
  • 纳税信用等级评定在哪里查询
  • 分公司可以独立承担法律责任吗
  • 发票预付款充值卡是否报销
  • 减免税属于政府转移支付吗
  • 计提工会经费的贷方账户为
  • 企业现金类资产包括
  • 公共租赁住房折旧
  • 公司代扣代缴个人所得税如何退税
  • 节税租赁和销售的区别
  • 利润是负数如何计算利润率
  • 收到理财产品收益分录
  • 费用计提后冲减怎么做账
  • 公司付款给个人一定要取得发票吗
  • 4.86的税率怎么算
  • 出口退税申报显示疑点跳过可以转正式申报吗
  • 建筑分包项目有哪些内容
  • 刷银行卡消费安全吗
  • 个人承包工程如何缴纳个人所得税
  • 以前年度损益调整怎么用
  • 哪些发票备注栏必须注明
  • 总公司资金转入私人账户
  • 增值税普票可以抵扣税吗
  • 公司有残疾人员怎么办
  • 苹果mac有hdmi
  • 如何增强无线网卡的接收能力
  • 修改php.ini
  • PHP:mb_convert_kana()的用法_mbstring函数
  • 电脑时间同步不了解决方法
  • 财务管理公司属于什么行业类别
  • 黄石国家公园的建立意义
  • 个人房屋出租税票怎么开
  • php将数据导出到excel
  • css中哪些属性可以使用
  • update命令怎么用
  • python用内置函数来打开文件
  • 对企业采取以旧换新方式销售的应税产品
  • 电费发票查不到
  • 帝国cms生成app
  • 帝国cms导入模板后怎样调用
  • 个体户跨季领取发票流程
  • 事业单位成本核算具体指引—公立医院
  • 金蝶利润表为什么只有累计数没有本月数
  • 在建工程如何转固
  • 企业福利费账务处理
  • 小规模出售固定资产账务处理
  • 外购商品用于宣传需要缴纳增值税吗
  • 消耗品清单
  • 没有海关完税凭证怎么入账
  • 2020年申报期截止时间
  • 预付卡充值可以退吗
  • 银行回单中包含哪些内容
  • 融资租赁租金会计科目
  • 提取盈余公积金
  • 职工薪酬费用属于什么费用
  • 软件开发公司账一定按项目做吗
  • 其他业务收入的附加税的会计分录
  • 水利基金征收标准
  • 企业收付实现制还是权责发生制
  • 金税盘技术维护费可以抵扣吗
  • sqlserver重命名表名
  • boot from
  • linux dicom
  • win8怎么停止自动更新
  • win10更新补丁后共享打印机无法使用
  • window10分屏显示
  • win7如何禁用网卡
  • linux怎么在桌面创建文件
  • android开发地图应用
  • css教程推荐
  • Linux中获取某个进程的系统调用以及参数(故障排查案例)
  • bat文件加密bat解密脚本
  • 支持css的浏览器
  • diskpart ntfs
  • 常用的js框架有哪些
  • jquery valid()
  • js实现拖拽div的弹出框
  • 陕西税务局官网登录
  • 国税局事业编制和公务员哪个比较好
  • 国家税务总局服务平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设