WebSocket和Stomp协议的区别与联系是什么?
目前我的理解是:
WebSocket定义传输协议,Stomp定义传输的文本协议。看了网上的一些博客感觉还是没太弄明白,希望有大佬指点迷津
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
目前我的理解是:
WebSocket定义传输协议,Stomp定义传输的文本协议。看了网上的一些博客感觉还是没太弄明白,希望有大佬指点迷津
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
二者都是 TCP/IP 协议簇下的子协议。
STOMP 对标的是 AMQP。
WebSocket 跟 HTTP 是平级的协议,虽然前者依赖后者建立链接,但之后就跟 HTTP 没啥关系了。依赖关系是因为是因为它是为了浏览器而设计出来的,出于兼容的需要,二者有交集但不是父子关系。
而 STOMP/AMQP 就跟 WebSocket/HTTP 完全没关系了(硬说有也不是没有,毕竟前者的很多设计思路参考了后者,但在具体实现上则没有必然的依赖关系)。
在实际应用中,STMOP 可以建立在 WebSocket 基础上进行数据传输,但也完全可以使用其他应用层协议上。虽然理论上如此,但用 WebSocket 几乎已成为了事实标准,毕竟 STMOP 需要互操作,而全双工的应用层协议并不多,也只能是 WebSocket 了。当然你也完全可以自己在 TCP/IP 上自己搞一套应用层协议,然后把 STMOP 接进去,不过你看看有没有哪个支持 STOMP 的项目(例如 RabbitMQ)会跟进你?