WebSocket与Socket、TCP、HTTP的关系
创始人
2024-05-29 16:58:27
0
目录:
1、名词解析;
2、WebSocket简介与原理;
3、WebSocket和Http的关系和异同点;
4、WebSocket与Socket的区别;
5、Socket和TCP/IP;
6、一个应用程序的通信链路;

1、基础名词解析:

(1)IP:网络层协议;(高速公路)

(2)TCP和UDP:传输层协议;(卡车)

(3)HTTP:应用层协议(货物);

HTTP(超文本传输协议)是建立在TCP协议之上的一种应用。HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

(4)Socket:套接字(港口码头/车站):不是一个协议,是抽象层

TCP/IP网络的API。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

TCP协议简化一下,就只有三个核心功能:建立连接、发送数据以及接收数据;Socket核心功能也是这样。所以Socket编程,理解为对TCP协议的具体实现。

(5)Websocket:

同HTTP一样也是应用层的协议,但是它是一种双向通信协议,是建立在TCP之上的,解决了服务器与客户端全双工通信的问题,包含两部分:一部分是“握手”,一部分是“数据传输”。握手成功后,数据就直接从 TCP 通道传输,与 HTTP 无关了

(6)通讯方式:

单工:数据只能单向传送;

半双工:数据能双向传送但不能同时双向传送;

全双工:数据能够同时双向传送。

2、WebSocket简介与原理:

(1)WebSocket是HTML5中新协议,新API。实现多路复用,是全双工、双向、单套接字连接,在WebSocket协议下服务器和客户端可以同时发送信息。

(2)WebSocket同HTTP一样也是应用层协议,但是它是双向通信协议,建立在TCP之上。

3、WebSocket和Http的关系和异同点:

(1)每个WebSocket连接都始于一个HTTP请求;

具体来说,WebSocket协议在第一次握手连接时,通过HTTP协议在传送WebSocket支持的版本号,协议的字版本号,原始地址,主机地址等等一些列字段给服务器端.

(2)相同点:

(1)都是建立在TCP之上,通过TCP协议来传输数据。

(2)都是可靠性传输协议。

(3)都是应用层协议。

(3)不同点:

(1)WebSocket支持持久连接,HTTP不支持持久连接。

(2)WebSocket是双向通信协议,HTTP是单向协议,只能由客户端发起,做不到服务器主动向客户端推送信息。

4、WebSocket与Socket的区别:

(1)Socket:不是一个协议,Socket是应用层与TCP/IP协议族通信的中间软件抽象层;

Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面;

(2)而 WebSocket 则不同,它是一个完整的应用层协议,包含一套标准的 API 。

所以,从使用上来说,WebSocket 更易用,而 Socket 更灵活。

5、Socket和TCP/IP:

(1)Socket是对TCP/IP协议的封装,像创建Socket连接时,可以指定使用的传输层协议;

(2)Socket可以支持不同的传输层协议(TCP或UDP);

(3)当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。

6一个应用程序的通信链路:

(1)主机 A 的应用程序要能和主机 B 的应用程序通信,必须通过 Socket 建立连接;

(2)而建立 Socket 连接必须需要底层 TCP/IP 协议来建立 TCP 连接。

(3)建立 TCP 连接需要底层 IP 协议来寻址网络中的主机。

我们知道网络层使用的 IP 协议可以帮助我们根据 IP 地址来找到目标主机,但是一台主机上可能运行着多个应用程序;

(4)如何才能与指定的应用程序通信就要通过 TCP 或 UPD 的地址也就是端口号来指定。

这样就可以通过一个 Socket 实例唯一代表一个主机上的一个应用程序的通信链路了。

相关内容

热门资讯

如何删除安卓系统信息,安卓系统... 手机里的信息越来越多,是不是感觉自己的隐私都快要被暴露无遗了?别担心,今天就来教你怎么轻松删除安卓系...
国产安卓系统哪个流畅,揭秘哪家... 你有没有想过,手机里的操作系统就像是我们的大脑,有时候它运行得快慢,直接影响我们的使用体验呢?今天,...
安卓怎么刷主机系统,掌握主机系... 你有没有想过,你的安卓手机或者平板,是不是也能像电脑一样,装上各种酷炫的系统呢?没错,今天就要来给你...
安卓系统桌面显示时间,见证日常... 你有没有发现,每次打开安卓手机,那桌面上的时间总是一闪一闪的,仿佛在告诉你:“时间不等人哦!”今天,...
os云刷安卓系统,畅享智能新体... 你有没有想过,你的安卓手机是不是也能像电脑一样,装上各种酷炫的系统呢?没错,今天就要来跟你聊聊这个神...
安卓系统如何装siri,安卓设... 你有没有想过,在安卓手机上也能享受到Siri的智能语音助手服务呢?没错,就是那个在iPhone上呼之...
电脑怎么安卓双系统,电脑安装安... 你有没有想过,一台电脑同时运行安卓和Windows系统,那得多酷啊!想象一边处理工作,一边刷刷抖音,...
linux操作系统与安卓系统,... 你有没有想过,为什么你的手机可以随时随地给你发送信息,而你的电脑却能帮你处理复杂的任务呢?这背后,就...
安卓大屏系统信息,功能与体验全... 你有没有发现,最近手机界的大屏风潮真是势不可挡啊!安卓大屏系统信息,这可是个热门话题呢!想象拿着一块...
苹果7转安卓系统,探索安卓系统... 你有没有想过,从苹果7转到安卓系统会是怎样的体验呢?想象你手中的那个曾经陪伴你度过无数美好时光的苹果...
安卓系统打卡手机推荐,高效便捷... 你有没有想过,每天早上起床后,第一件事就是拿出手机打卡签到?这已经成为现代生活中不可或缺的一部分了。...
安卓手机装了小米系统,小米系统... 你有没有想过,把安卓手机的灵魂换成小米的系统,会是怎样的体验呢?想象原本流畅的安卓系统,突然间被注入...
安卓汽车系统怎么升级,轻松实现... 亲爱的安卓车主们,你是否也像我一样,对汽车系统升级充满了好奇和期待呢?想象你的爱车就像一部智能手机,...
手机怎么变安卓系统,轻松实现系... 你有没有想过,你的手机居然可以变身成为安卓系统呢?没错,就是那个自由度极高的操作系统!今天,就让我来...
安卓仿ios系统横条,打造流畅... 你有没有发现,最近安卓手机上出现了一种特别的新花样——仿iOS系统的横条设计!这可不是简单的模仿,而...
谷歌汽车安卓系统下载,引领智能... 你有没有想过,未来的汽车可能会变成一个移动的智能中心?想象你的汽车不仅能够带你穿梭在城市的大街小巷,...
安卓系统硬件修复软件,全面解析... 手机里的安卓系统突然卡顿,是不是让你头疼不已?别急,今天就来给你揭秘那些神奇的安卓系统硬件修复软件,...
鸿蒙系统比安卓系统大么,体积对... 你有没有想过,手机里的操作系统,就像是手机的心脏,它的大小、性能,都直接影响到手机的使用体验。今天,...
安卓系统 刷机模式,刷机模式操... 你有没有想过,你的安卓手机其实就像一个隐藏着无限可能的宝藏呢?没错,今天就要来跟你聊聊这个宝藏的秘密...
案卷制作系统下载安卓,高效便捷... 你有没有想过,在手机上也能轻松制作案卷呢?没错,现在就有这么一款神器——案卷制作系统,而且它还支持安...