tcp 保持长连接 需要 占用 网络带宽吗?
需要。 TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。www.2cto.com 默认的Keepalive超时需要7,200,000 milliseconds,即2小时,探测次数为5次。它的功效和用户自己实现的心跳机制是一样的。开启Keepalive功能需要消耗额外的宽带和流量,尽管这微不足道,但在按流量计费的环境下增加了费用,另一方面,Keepalive设置不合理时可能会因为短暂的网络波动而断开健康的TCP连接。

Http 的长连接能持续多久
长连接的过期时间客户端的长连接不可能无限期的拿着,会有一个超时时间,服务器有时候会告诉客户端超时时间,譬如:上图中的Keep-Alive: timeout=20,表示这个TCP通道可以保持20秒。另外还可能有max=XXX,表示这个长连接最多接收XXX次请求就断开。对于客户端来说,如果服务器没有告诉客户端超时时间也没关系,服务端可能主动发起四次握手断开TCP连接,客户端能够知道该TCP连接已经无效;另外TCP还有心跳包来检测当前连接是否还活着,方法很多,避免浪费资源。

TCP长连接与短连接有什么区别?
一般俗说的长连接是指一直连着,短连接就是请求一次,连接一次,断开一次,都指的tcp。比如http 1.0一般就指短连接,smtp,pop3,telnet这种就可以认为是长连接。

TCP长连接长时间无数据被断开是哪个网络设备的问题
每两个小时,tcp自动探测一次,发现对方关闭,则断开连接 除非应用层有特殊要求(比如要求每5分钟探测一次),否则不需要关心这个问题。我记得keepalive option似乎不能设置时间,只是打开关闭keep alive选项。 设置时间是在另外的地方(好像是sysctl,或者/proc下面),而且这个时间是一个系统只有一个,一旦改变所有程序的keepalive检测时间都变。

TCP长连接与短连接有什么区别
短连接发送完数据后就会立即断掉,而长连接则会保留这个连接
短连接一般只会在client/server间传递一次读写操作。 长连接在完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。短连接的优点是:管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段。长连接有TCP保活功能,主要为探测长连接的存活状况,不过这里存在一个问题,存活功能的探测周期太长,还有就是它只是探测TCP连接的存活,属于比较斯文的做法,遇到恶意的连接时,保活功能就不够使了。 长连接和短连接主要区别在于client和server采取的关闭策略。

本文由 在线网速测试 整理编辑,转载请注明出处。