WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法
最近在做一个WebSocket项目,后台使用了Stomp协议的WebSocketConfigurer,但是前端在测试的时候,发现一个很奇怪的问题:
本地的测试代码,最初我使用了Java+SockJS实现:
@Configuration @EnableWebSocketMessageBroker public class WebSocketStompConfig implements WebSocketMessageBrokerConfigurer {@Overridepublic void registerStompEndpoints(StompEndpointRegistry registry) {registry.addEndpoint("/density").setAllowedOrigins("*") //解决跨域问题 .withSockJS();}@Overridepublic void configureMessageBroker(MessageBrokerRegistry config) {config.enableSimpleBroker("/topic");} }
var url = "http://172.18.171.167:8080/density"
var socket = new SockJS(url)
var stompClient = Stomp.over(socket)
这种情况下自测可以通过
但是前端反应,SockJS不支持同时打开多个Socket订阅(我也不清楚到底是否真实,懒得追究了),于是需要研究如何在前端通过原生WebSocket的方式而不是SockJS的方式建立客户端(BTW 我一直觉得这是前端的活儿,我也不明白我一个后端为什么要搞这个)
按照网上的教程,写了如下的代码:
var stompClient = Stomp.client('ws://172.18.171.167:8080/density');stompClient.connect({}, function (frame) {setConnected(true);console.log('Connected:' + frame);stompClient.subscribe('/topic/callback', function (response) {showCallback(response.body);});});
但是这时无论如何,前端都会报如下的错误:
failed: Unexpected response code: 200
试了很多种方法,但是都没法儿解决问题,最终在Stack Overflow的一个回答下面的Comment里面找到答案:
将原来的URL
ws://172.18.171.167:8080/density/
改为
ws://172.18.171.167:8080/density/websocket
生效!!!
具体为什么,我也不知道。。。Orz
转载于:https://www.cnblogs.com/chrischeng/p/10237523.html
WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法相关推荐
- MySQL更新时Error Code:1093和Error Code:1175的解决办法
Error Code: 1093. You can't specify target table 'ws_product' for update in FROM clause 这个是我们在使用upda ...
- 关于E: Sub-process /usr/bin/dpkg returned an error code (1)错误解决
关于E: Sub-process /usr/bin/dpkg returned an error code (1)错误解决 前言: 在用apt-get安装软件时出现了类似于: install-info ...
- CentOS 7虚拟机克隆,以及克隆后主机名和静态IP地址的修改,无法重启网络服务( because the control process exited with error code)的解决方法
目录 虚拟机的克隆 主机名的修改 静态IP地址的修改 无法重启网络服务( because the control process exited with error code)的解决方法 虚拟机的克隆 ...
- Windows下使用pip安装模块发生“failed with error code 1”的解决方法
Windows下Python安装部分模块时出错,错误代码类似于下面这种: Command "f:\python\python36\python.exe -u -c "import ...
- pip intall 出现 error: subprocess-exited-with-error 错误的解决办法
pip intall 出现 error: subprocess-exited-with-error 错误的解决办法 问题发生 解决办法 问题发生 安装环境 操作系统:CentOS Python:3.8 ...
- Mac cnpm装包时提示Error: EACCES: permission denied解决办法
Cnpm装包时提示Error: EACCES: permission denied解决办法 2018年03月04日 09:31:51 miniminixu 阅读数:1598 版权声明:本文为博主原创文 ...
- 使用ESP8266-01S 作为Station PC作为Server通讯出现 ERROR CLOSED问题的解决办法
使用ESP8266-01S 作为Station PC作为Server通讯出现 ERROR CLOSED问题的解决办法 连接步骤 问题 解决办法 连接步骤 连接步骤是按照B站上海创电子UP的方法连接的, ...
- 一键还原精灵万能的安装方法及error loading os的解决办法
本篇文章的思路来源于"一键还原精灵官方论坛",本人只是结合自己的使用经验做个笔记,本人认为一键还原这个软件很好,特别支持,很实用. 简单说明一下和咱们做一键恢复相关的一键恢复(指专 ...
- grub error: unknown filesystem的解决办法
Linux系统下出现grub error: unknown filesystem的解决办法 参考于简书大佬的解决方案 问题:在今天进行 Windows11 的更新过程中,某一次重启过后出现了类似如下的 ...
最新文章
- android SurfaceView
- Android设备唯一性判断
- Spring Cloud(四) API网关Zuul
- 一句SQL随机查询ACCESS中的几条记录
- aic值检验 p值_23. 假设检验的时候为什么常写p lt; 0.05,而不写具体的p值?
- ajax异步延迟加载图片,lazyload.JS实现图片异步延迟加载
- 9_林业专题图的制作
- Idea 设置方法注释模板 Idea 2021.2配置方法类注释模板
- 歌乎:985博士生对996的困惑
- “校园知网”5月5日冲刺计划书
- 二十年后的家乡(小学习作)
- C#实现QQ窗体的步骤和总结
- 一文解读广告投放落地页
- C++我的世界源代码
- 夜深模拟器安装的一些问题
- 消息 ByteBuf 详解
- Hudson插件开发入门体验
- 帆软BI绕过限制思路
- 阿里云视频点播测试问题解决 (获取播放地址播放)
- 扭曲的空间和扭曲的能量场
热门文章
- android两个java文件内容_java – 在1个请求中将多个文件从Android上传...
- mongodb mysql 写_MySQL和MongoDB语句的写法对照
- mysql数据库删除列数据_MySQL数据库-数据表、以及列的增删改查
- harmonyos sdk,HarmonyOS SDK对应的API版本跃迁引发的历史工程适配问题解决方案
- linux讲日志暂停,linux – Rsyslog在日志轮换后停止向远程服务器发送数据
- 计算机专业后悔么,王言匀
- java 里面write,java 中 System.out.println()和System.out.write()的区别
- 登陆 manager app显示不是私密链接_小米上线了一款靠指静脉识别开锁的私密箱,打造你的私人存储空间...
- 冒泡排序--Java
- 用计算机解决问题 评课稿,总结反思:二年级数学lbrack;解决问题rsqb;评课稿