当前位置:首页 > 技术 >

http和socket连接有什么区别(http长连接和socket长连接)

来源:原点资讯(www.yd166.com)时间:2022-10-26 13:21:32作者:YD166手机阅读>>

注意到curl只处理了一次报文。

客户端

http和socket连接有什么区别,http长连接和socket长连接(9)

Socket长连接

所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接(心跳包),一般需要自己做在线维持。 短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接。比如Http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。

通常的短连接操作步骤是:

连接→数据传输→关闭连接;

而长连接通常就是:

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

什么时候用长连接,短连接

长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理 速度会降低很多,所以每个操作完后都不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接, 如果用短连接频繁的通信会造成Socket错误,而且频繁的Socket创建也是对资源的浪费。

什么是心跳包为什么需要

心跳包就是在客户端和服务端间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。网络中的接收和发送数据都是使用Socket进行实现。但是如果此套接字已经断开(比如一方断网了),那发送数据和接收数据的时候就一定会有问题。可是如何判断这个套接字是否还可以使用呢?这个就需要在系统中创建心跳机制。其实TCP中已经为我们实现了一个叫做心跳的机制。如果你设置了心跳,那TCP就会在一定的时间(比如你设置的是3秒钟)内发送你设置的次数的心跳(比如说2次),并且此信息不会影响你自己定义的协议。也可以自己定义,所谓“心跳”就是定时发送一个自定义的结构体(心跳包或心跳帧),让对方知道自己“在线”,以确保链接的有效性。

实现:

服务端:

http和socket连接有什么区别,http长连接和socket长连接(10)

服务端输出结果:

http和socket连接有什么区别,http长连接和socket长连接(11)

客户端代码:

http和socket连接有什么区别,http长连接和socket长连接(12)

栏目热文

websocket和http的区别(websocket登录验证)

websocket和http的区别(websocket登录验证)

一、这一大堆关键词之间到底有啥区别?有名字就有定义,理解的前提从来都是对定义有所了解。就好比现在让你形容一下梯形的定义,...

2022-10-26 13:32:34查看全文 >>

websocket一般用什么服务器(websocket服务器怎么打开)

websocket一般用什么服务器(websocket服务器怎么打开)

安装nodeJs和配置, 参考nodeJs安装文档,下图问本人本地安装的版本查看版本 npm-v在本地创建存放项目文件夹...

2022-10-26 13:47:10查看全文 >>

websocket和http2.0的区别(websocket和socket哪个稳定)

websocket和http2.0的区别(websocket和socket哪个稳定)

昨天的文章中提到了HTTP/2,很多同学问HTTP/2是啥,找了这篇文章分享给各位文章来源:http://www.hol...

2022-10-26 13:29:39查看全文 >>

websocket和tcp区别(websocket服务器要多大)

websocket和tcp区别(websocket服务器要多大)

本文引用自“ 豆米博客”的《JS实时通信三把斧》系列文章,有优化和改动。1、引言有关Web端即时通讯技术的文章我已整理过...

2022-10-26 13:04:40查看全文 >>

socket和http优缺点(http和socket区别)

socket和http优缺点(http和socket区别)

一、OSI 网络七层模型第一层:应用层,定义了用于在网络中进行通信和传输数据的接口;(Http协议位于该层)第二层:表示...

2022-10-26 13:44:57查看全文 >>

http和socket有什么关系(http与socket关系)

http和socket有什么关系(http与socket关系)

最近项目中需要自己去实现一个http的接口。所以趁这个机会跟大家讲一下http和socket的关系,以及与TCP又有什么...

2022-10-26 13:37:24查看全文 >>

socket和http协议哪个好(socket和http哪个响应快)

socket和http协议哪个好(socket和http哪个响应快)

我们先来看看HTTP协议 与 TCP协议 的区别TCP协议是传输层协议 ,主要解决数据如何在网络中传输,而HTTP是应用...

2022-10-26 13:05:33查看全文 >>

socket接口和http接口区别(http和socket如何抉择)

socket接口和http接口区别(http和socket如何抉择)

IP:网络层协议;TCP和UDP:传输层协议;HTTP:应用层协议;Socket:TCP/IP网络的API。TCP/IP...

2022-10-26 13:22:56查看全文 >>

小米11好用系统版本(小米11哪个系统版本合适)

小米11好用系统版本(小米11哪个系统版本合适)

2022年1月2日20点小米官方直接在小米11推送MIUI13稳定版,你的小米手机推送了吗?欢迎评论区发表留言本次更新不...

2022-10-26 13:28:41查看全文 >>

小米11系统历史版本安装包(小米11系统安装包在哪里)

小米11系统历史版本安装包(小米11系统安装包在哪里)

今天又是调侃MIUI系统的一天。首先声明一点,文章内容仅代表个人观点,由于今天咱们谈到的MIUI系统更新至今已经有上百个...

2022-10-26 13:04:18查看全文 >>

文档排行