linux测试tcp长连接工具,Linux(服务器编程):44---TCP长连接、短连接(心跳检测)

一、TCP连接的相关说明

①使用TCP协议时,会在客户端和服务器之间建立一条虚拟的信道,这条虚拟信道就是指连接,而建议这条连接需要3次握手,拆毁这条连接需要4次挥手,可见,我们建立这条连接是有成本的,这个成本就是效率成本,简单点说就是时间成 本,你要想发送一段数据,必须先3次握手(来往3个包),然后才能发送数据,发送完了,你需要4次挥手(来往4个包) 来断开这个连接

②CPU资源成本,三次握手和4次挥手和发送数据都是从网卡里发送出去和接收的,还有其余的设备,比如防火墙, 路由器等等,站在操作系统内核的角度来讲,如果我们是一个高并发系统的话,如果大量的数据包都经历过这么一个过 程,那是很耗CPU的。

③每个socket是需要耗费系统缓存的,比如系统提供了一些接口设置socket缓存的,比如:

/proc/sys/net/ipv4/tcp_rmem

/proc/sys/net/ipv4/tcp_wmem

/proc/sys/net/ipv4/tcp_mem

87662ab205e31fda9a5e5e85736d45a4.png

因为TCP的可靠传输,所以我们有大量的应用程序使用TCP协议作为通信,但是每个应用因为产品功能的原因,对TCP的使用是不一样的,比如即时聊天系统(微信,钉钉,探探)

二、TCP长连接、TCP短连接

TCP短连接

概念:如下图所示,客户端与服务器建立连接开始通信,一次/指定次数通信结束之后就断开本次TCP连接,当下次再次通信时,再次建立TCP的链接

优点:不长期占用服务器的内存,那么服务器能处理的连接数量是比较多的

缺点:

因为等到要发送数据或者获取资源时,才去请求建立连接发送数据,否则就是端开连接的,那么如果服务器要想往客户端发送数据时怎么办?凉伴,没有任何办法,或者要等到下一次要请求数据时,才发送,比如我们采用轮询(30秒或者更

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值