golang tcp keepalive研究记录(基于websocket)

为什么有tcp Keepalive?

  服务器和客户端建立tcp连接以后,客户端/服务器如何知道对方是否挂掉了? 

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名虚拟主机、营销软件、网站建设、梨树网站维护、网站推广。

  这时候TCP协议提出一个办法,当客户端端等待超过一定时间后自动给服务端发送一个空的报文,如果对方回复了这个报文证明连接还存活着,如果对方没有报文返回且进行了多次尝试都是一样,那么就认为连接已经丢失,客户端就没必要继续保持连接了。如果没有这种机制就会有很多空闲的连接占用着系统资源。

KeepAlive并不是TCP协议规范的一部分,但在几乎所有的TCP/IP协议栈(不管是Linux还是Windows)中,都实现了KeepAlive功能。
  RFC1122#TCP Keep-Alives

tcp Keepalive是否默认开启?

  KeepAlive默认情况下是关闭的,可以被上层应用开启和关闭

如何设置tcp keepalive?

在Linux内核设置

KeepAlive默认不是开启的,如果想使用KeepAlive,需要在你的应用中设置SO_KEEPALIVE才可以生效。

查看当前的配置:

cat /proc/sys/net/ipv4/tcp_keepalive_time
cat /proc/sys/net/ipv4/tcp_keepalive_intvl
cat /proc/sys/net/ipv4/tcp_keepalive_probes

网站名称:golang tcp keepalive研究记录(基于websocket)
路径分享:http://bzwzjz.com/article/dsoichp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都品牌网站设计 企业网站设计 重庆网站建设 网站制作公司 成都网站设计公司 网站建设改版 品牌网站建设 外贸网站建设 成都网站建设 成都网站建设 成都定制网站建设 高端网站设计推广 成都网站制作 高端定制网站设计 营销型网站建设 响应式网站设计方案 营销网站建设 重庆电商网站建设 网站建设 企业网站建设 成都企业网站建设公司 企业网站设计