WebSockets
STOMP
STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。STOMP协议为许多公司都提供了基于STOMP的服务器与客户端。
STOMP定义了客户端和服务器之间以Frame进行同行,Frame的格式为:
COMMAND例如:
header1:value1
header2:value2
Body^@

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等。
网友回复
js如何流式输出ai的回答并折叠代码块,点击代码块右侧可预览代码?
ai大模型如何将文章转换成可视化一目了然的图片流程图图表?
大模型生成html版本的ui原型图和ppt演示文档的系统提示词怎么写?
rtsp视频直播流如何转换成websocket流在h5页面上观看?
为啥coze会开源工作流agent coze studio?
如何检测网页是通过收藏夹打开的?
python如何实现类似php的http动态脚本请求处理响应代码?
js如何实现类似php的http动态脚本请求处理响应代码?
trae与solo有啥区别不同?
vue如何让ai动态生成问卷调查多步骤表单式收集基础信息自动规划执行任务?