python服务端设置心跳处理_【ESP8266学习记录-4】TCP连接之为什么需要心跳包?-基于MicroPython...

“嘿,姑娘,我是真系钟意你!”——Heartbeat

前面一篇文章内简单的讲了一下TCP连接,在实际的“瞎玩”过程中,有许多需要考虑的现实因素。

其中一个重要的条件时:保证设备在线

只有硬件设备(以下简称客户端)在线的情况下才能对其控制,客户端的信息才可以上传到服务端。本文主要从以下两种情况分析设备的在线情况,再介绍心跳包存在的意义。

客户端主动断开TCP连接

客户端非主动断开TCP连接

1.服务端主动断开TCP连接

很多时候一个TCP的连接从建立开始到结束的周期并不长,大概10-60S内就完成了这个业务流程,另一方面因为服务端要同时服务数以万计的客户端,因此在需要的时候再次建立连接比建立一个长连接更划算。在服务端断开连接之后客户端的会知道连接已经断开了,等待下次有需求的时候再次请求连接。

这种断开方式可以合理的利用服务端,使服务端处在一个可控的范围内,也避免了服务端因业务量大出现宕机的情况。

2.客户端主动断开TCP连接

在主动断开连接的情况中,博主更推荐使用客户端主动断开连接,因为大多数情况数据的请求都在客户端(具体应用具体分析)。一般来讲客户端发起断开连接请求,如:

s.close()#其中s为先前已经建立的连接

发起请求之后经过四次握手断开,向服务端发送一个fin包,服务端这时候才“知道”客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值