+
95
-

回答

WebSockets

这是一个规范,允许客户端和服务器之间进行同步双向通信。与TCP套接字类似,它是一种用作升级的HTTP连接的协议,可在两方之间交换可变长帧,而不是流。

STOMP

STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议为许多公司都提供了基于STOMP的服务器与客户端。

STOMP定义了客户端和服务器之间以Frame进行同行,Frame的格式为:

COMMAND
header1:value1
header2:value2
Body^@

例如:
800_auto
COMMAND分为CONNECT、SEND、SUBSCRIBE、UNSUBSCRIBE、BEGIN、COMMIT、ABORT、ACK、NACK、DISCONNECT这几种。

COMMAND之后下一行紧跟着的是头部的键值对,之后加入一条空行,空行之后为body,即传递的消息实体。

WebSockets与STOMP的区别:

websockets基于tcp,是一种数据传输协议,而stomp是一种文本协议,有点类似tcp与http协议的关系,tcp可以传输二进制文件,tcp不会涉及传输的内容是什么,而是按照自己的协议打包传输数据,有点类似于现在的运输物流,而http是利用tcp这个传输工具创立的一套超文本传输协议,他对请求应答设置了文本规则,比较get post方法,http status状态码设定,类似于快递邮寄。

所以websockets与stomp的区别也可以是物流运输与快递的区别,快递是建立在物流运输的基础上,当然stomp协议可以建立在非websocket上,比如tcp、udp等。

网友回复

我知道答案,我要回答