websocket和TCP区别(websocket)

  • 发布时间:2024-01-15 15:01:15 来源:
标签:
导读 你们好,最近小未来发现有诸多的小伙伴们对于websocket和TCP区别,websocket这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看

你们好,最近小未来发现有诸多的小伙伴们对于websocket和TCP区别,websocket这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、服务端和客户端采用STOMP协议进行通信。

2、关于SockJs。

3、 SockJS 是 WebSocket 技术的一种模拟。SockJS 会 尽可能对应 WebSocket API,但如果 WebSocket 技术不可用的话,就会选择另外的通信方式协议。

4、sockjs,对于低版本的ie等不支持websocket的浏览器,采用js模拟websocket对象的办法来实现兼容(其实也有轮询的情况)。

5、关于STOMP。

6、 SockJS 为 WebSocket 提供了 备选方案。但无论哪种场景,对于实际应用来说,这种通信形式层级过低。下面看一下如何 在 WebSocket 之上使用 STOMP协议,来为浏览器 和 server 间的 通信增加适当的消息语义。(STOMP—— Simple Text Oriented Message Protocol——面向消息的简单文本协议)。

7、 STOMP帧由命令,一个或多个头信息以及负载所组成。如下就是发送数据的一个STOMP帧:

8、 SEND

9、 destination:/app/room-message

10、 content-length:20

11、 {\"message\":\"Hello!\"}

12、对以上代码分析:

13、1. SEND:STOMP命令,表明会发送一些内容;

14、2. destination:头信息,用来表示消息发送到哪里;

15、3. content-length:头信息,用来表示 负载内容的 大小;

16、4. 空行;

17、5. 帧内容(负载)内容

18、WebSocket、SockJs、STOMP三者关系。

19、 简而言之,WebSocket 是底层协议,SockJS 是WebSocket 的备选方案,也是 底层协议,而 STOMP 是基于 WebSocket(SockJS) 的上层协议。

20、1. 假设HTTP协议并不存在,只能使用TCP套接字来编写web应用,你可能认为这是一件疯狂的事情。

21、2. 不过幸好,我们有HTTP协议,它解决了 web 浏览器发起请求以及 web 服务器响应请求的细节。

22、3. 直接使 WebSocket(SockJS) 就很类似于 使用 TCP 套接字来编写 web 应用;因为没有高层协议,因此就需要我们定义应用间所发送消息的语义,还需要确保 连接的两端都能遵循这些语义。

23、4. 同HTTP在TP套接字上添加请求-响应模型层一样,STOMP在 WebSocket之上提供了一个基于帧的线路格式层,用来定义消息语义。

以上就是websocket这篇文章的一些介绍,希望对大家有所帮助。

  • 免责声明:本文由用户上传,如有侵权请联系删除!