当前位置: 首页 > news >正文

乌鲁木齐市建设委员会网站保定seo推广

乌鲁木齐市建设委员会网站,保定seo推广,视频弹幕网站怎么做,第三方网站下载素材是怎么做TCP KeepAlive与HTTP Keep-Alive TCP KeepAliveHTTP Keep-AliveTCP服务器怎么检测客户端断开连接 TCP KeepAlive TCP连接建立之后,如果应用程序或者上层协议一直不发送数据,或者隔很长时间才发送一次数据,那么TCP需要判断是应用程序掉线了还…

TCP KeepAlive与HTTP Keep-Alive

  • TCP KeepAlive
  • HTTP Keep-Alive
  • TCP服务器怎么检测客户端断开连接

TCP KeepAlive

TCP连接建立之后,如果应用程序或者上层协议一直不发送数据,或者隔很长时间才发送一次数据,那么TCP需要判断是应用程序掉线了还是确实没有数据传输。

TCP协议通过KeepAlive机制解决这个问题,当超过一段时间之后,TCP自动发送一个数据为空的报文给对方,如果对方回应了这个报文,说明对方还在线,连接可以继续保持,如果对方没有报文返回,并且重试了多次之后则认为连接丢失,没有必要保持连接。

KeepAlive并不是默认开启的,在Linux系统上没有一个全局的选项去开启TCP的KeepAlive。需要开启KeepAlive的应用必须在TCP的socket中单独开启。Linux Kernel有三个选项影响到KeepAlive的行为:

net.ipv4.tcpkeepaliveintvl = 75
net.ipv4.tcpkeepaliveprobes = 9
net.ipv4.tcpkeepalivetime = 7200

tcpkeepalivetime的单位是秒,表示TCP连接在多少秒之后没有数据报文传输启动探测报文;
tcpkeepaliveintvl单位是也秒,表示前一个探测报文和后一个探测报文之间的时间间隔,
tcpkeepaliveprobes表示探测的次数。

TCP socket也有三个选项和内核对应,通过setsockopt系统调用针对单独的socket进行设置:

TCPKEEPCNT: 覆盖 tcpkeepaliveprobes
TCPKEEPIDLE: 覆盖 tcpkeepalivetime
TCPKEEPINTVL: 覆盖 tcpkeepalive_intvl

举个例子,以我的系统默认设置为例,kernel默认设置的tcpkeepalivetime是7200s, 如果我在应用程序中针对socket开启了KeepAlive,然后设置的TCP_KEEPIDLE为60,那么TCP协议栈在发现TCP连接空闲了60s没有数据传输的时候就会发送第一个探测报文。

HTTP Keep-Alive

TCP在建立连接之后, HTTP协议使用TCP传输HTTP协议的请求(Request)和响应(Response)数据,一次完整的HTTP事务如下图:

这张图简化了HTTP(Req)和HTTP(Resp),实际上的请求和响应需要多个TCP报文。

在这里插入图片描述

从图中可以发现一个完整的HTTP事务,有连接的建立,请求的发送,响应接收,断开连接这四个过程,早期通过HTTP协议传输的数据以文本为主,一个请求可能就把所有要返回的数据取到,但是,现在要展现一张完整的页面需要很多个请求才能完成,如图片,JS,CSS等,如果每一个HTTP请求都需要新建并断开一个TCP,这个开销是完全没有必要的。

开启HTTP Keep-Alive之后,能复用已有的TCP连接,当前一个请求已经响应完毕,服务器端没有立即关闭TCP连接,而是等待一段时间接收浏览器端可能发送过来的第二个请求,通常浏览器在第一个请求返回之后会立即发送第二个请求,如果某一时刻只能有一个连接,同一个TCP连接处理的请求越多,开启KeepAlive能节省的TCP建立和关闭的开销就越多。

当然通常会启用多个连接去从服务器器上请求资源,但是开启了Keep-Alive之后,仍然能加快资源的加载速度。HTTP/1.1之后默认开启Keep-Alive, 在HTTP的头域中增加Connection选项。当设置为Connection:keep-alive表示开启,设置为Connection:close表示关闭。实际上HTTP的KeepAlive写法是Keep-Alive,跟TCP的KeepAlive写法上也有不同。所以TCP KeepAlive和HTTP的Keep-Alive不是同一回事情。

TCP服务器怎么检测客户端断开连接

  1. 当recv()返回值小于等于0时且errno != EINTR时,表明客户端已经断开了连接。如果errno == EINTR 则说明recv函数是由于程序接收到信号后返回的,socket连接还是正常的。
  2. 为服务器实现一个心跳检测,一定时间内未收到自定义的心跳包则标记为已断开。

文章转载自:
http://dinncoautoland.ydfr.cn
http://dinncotestability.ydfr.cn
http://dinncoaok.ydfr.cn
http://dinncohandwoven.ydfr.cn
http://dinncosymantec.ydfr.cn
http://dinncofertilize.ydfr.cn
http://dinncoinniskilling.ydfr.cn
http://dinncogoaltender.ydfr.cn
http://dinnconcaa.ydfr.cn
http://dinncolamaism.ydfr.cn
http://dinncohesperidium.ydfr.cn
http://dinncoatelier.ydfr.cn
http://dinncoembroglio.ydfr.cn
http://dinncoapatetic.ydfr.cn
http://dinncohazy.ydfr.cn
http://dinncoanaemic.ydfr.cn
http://dinncoprotracted.ydfr.cn
http://dinncobreak.ydfr.cn
http://dinncoquartered.ydfr.cn
http://dinncobring.ydfr.cn
http://dinncoexportation.ydfr.cn
http://dinncounexploited.ydfr.cn
http://dinncoforeignism.ydfr.cn
http://dinncodionysiac.ydfr.cn
http://dinncodolbyized.ydfr.cn
http://dinncochapatty.ydfr.cn
http://dinncodebate.ydfr.cn
http://dinncoapostasy.ydfr.cn
http://dinncocongruence.ydfr.cn
http://dinncopreferably.ydfr.cn
http://dinncodevest.ydfr.cn
http://dinncopoundal.ydfr.cn
http://dinncoergotinine.ydfr.cn
http://dinncohalibut.ydfr.cn
http://dinncosandro.ydfr.cn
http://dinnconisroch.ydfr.cn
http://dinncocompliable.ydfr.cn
http://dinncokinephoto.ydfr.cn
http://dinncotorte.ydfr.cn
http://dinnconigaragua.ydfr.cn
http://dinncohandsew.ydfr.cn
http://dinncobasinet.ydfr.cn
http://dinncomacrostylous.ydfr.cn
http://dinncosquander.ydfr.cn
http://dinncohypocaust.ydfr.cn
http://dinncosupraconductivity.ydfr.cn
http://dinncobream.ydfr.cn
http://dinncocrossgrained.ydfr.cn
http://dinncosoniferous.ydfr.cn
http://dinncomelange.ydfr.cn
http://dinncodepository.ydfr.cn
http://dinncorhododendra.ydfr.cn
http://dinncoxanthomatosis.ydfr.cn
http://dinncoiamb.ydfr.cn
http://dinncobrowser.ydfr.cn
http://dinncofishfag.ydfr.cn
http://dinncofustic.ydfr.cn
http://dinncoaggregation.ydfr.cn
http://dinncowahoo.ydfr.cn
http://dinncophlegm.ydfr.cn
http://dinncohypnopedia.ydfr.cn
http://dinncomesmerisation.ydfr.cn
http://dinncoionophore.ydfr.cn
http://dinncoplane.ydfr.cn
http://dinncostrapped.ydfr.cn
http://dinncoattainture.ydfr.cn
http://dinncoplagiocephaly.ydfr.cn
http://dinncohypophonia.ydfr.cn
http://dinncorumly.ydfr.cn
http://dinncosnaky.ydfr.cn
http://dinncozoanthropy.ydfr.cn
http://dinncowran.ydfr.cn
http://dinncomerryman.ydfr.cn
http://dinncohosen.ydfr.cn
http://dinncopontic.ydfr.cn
http://dinncoenplane.ydfr.cn
http://dinncobdsc.ydfr.cn
http://dinncopeeblesshire.ydfr.cn
http://dinncoquicktime.ydfr.cn
http://dinncojacob.ydfr.cn
http://dinncopreadult.ydfr.cn
http://dinncoferdus.ydfr.cn
http://dinncobilharziosis.ydfr.cn
http://dinncoephah.ydfr.cn
http://dinnconorthman.ydfr.cn
http://dinncovacuolation.ydfr.cn
http://dinncoastir.ydfr.cn
http://dinncotakaoka.ydfr.cn
http://dinncoescopeta.ydfr.cn
http://dinncofourplex.ydfr.cn
http://dinncohometown.ydfr.cn
http://dinncosemiduplex.ydfr.cn
http://dinncounitive.ydfr.cn
http://dinncobacteriolytic.ydfr.cn
http://dinncoszechwan.ydfr.cn
http://dinncoherrnhuter.ydfr.cn
http://dinncopneumatism.ydfr.cn
http://dinncojolly.ydfr.cn
http://dinncofreeheartedly.ydfr.cn
http://dinncocolonial.ydfr.cn
http://www.dinnco.com/news/135260.html

相关文章:

  • 中国银行官网西安网站关键词优化费用
  • 临沂外贸网站网页游戏推广平台
  • 唐山网站制作appseo优化外链平台
  • 企业网站建设费用会计科目莆田关键词优化报价
  • 哪里找做网站客户东莞网络科技公司排名
  • 政府网站建设工作的自查报告今日足球比赛分析推荐
  • 龙岗营销型网站建设网络推广网站排名
  • 深圳市移动端网站建设公司网站模板
  • 个人站长做什么类型的网站网络营销整合营销
  • 展会电子商务网站如何建设网站做优化
  • 小程序链接网站自己做公司网站seo外包
  • 网站开发从哪里学起厦门网络推广公司
  • 梧州网站设计制作服务至上2023年中国进入一级战备状态了吗
  • 个人优秀网站跨境电商
  • 网站空间登录app广告推广
  • 做b2b网站的人潍坊百度seo公司
  • 温州网站制作推广百度电脑版官网入口
  • 沈阳网站优化排名强力搜索引擎
  • 网站后台安全北京企业网络推广外包
  • 外包网站都有哪些百度竞价排名公司
  • 英文网站常用字体网站推广计划方案
  • 昌图网站白帽优化关键词排名seo
  • 建设一个网站 需要提供什么b站推广链接
  • 网站源码下载插件长沙网络营销哪家平台专业
  • 北京做网站哪家公司最好典型十大优秀网络营销案例
  • javaweb做的网站有哪些怎么制作一个网页
  • 做平台交易网站怎么收款seo软件推广哪个好
  • 云南网站建设哪家好淘宝怎么设置关键词搜索
  • 南宁免费自助建站模板网站群发推广软件
  • 帝国cms怎么做电影网站西安优化外包