APP开发实战37-短连接与长连接

本文详细介绍了APP开发中的短连接和长连接。短连接在数据交互完成后立即断开,适用于并发量大且用户操作不频繁的场景,如HTTP服务。长连接则保持连接状态,通过心跳检测维持,适合于操作频繁的通讯,如PUSH和即时通讯。HTTP1.1默认保持长连接,并有超时和最大请求数限制。长连接利用Socket或WebSocket实现,能减少连接建立的时间成本。
摘要由CSDN通过智能技术生成

9 短连接与长连接

9.1短连接

短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。

短连接操作步骤: 连接→数据传输→关闭连接

9.2长连接

长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态,且在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包,以维持此连接。

长连接操作步骤:

连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接

在长连接中一般是没有条件能够判断读写什么时候结束,所以必须要加长度报文头。读函数先是读取报文头的长度,再根据这个长度去读相应长度的报文。 

HTTP1.1规定了默认保持长连接(HTTP persistentconnection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据。

长连接会有一个超时时间,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值