WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法
【转】
https://www.cnblogs.com/chrischeng/p/10237523.html
最近在做一个WebSocket项目,后台使用了Stomp协议的WebSocketConfigurer,但是前端在测试的时候,发现一个很奇怪的问题:
本地的测试代码,最初我使用了Java+SockJS实现:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketStompConfig implements WebSocketMessageBrokerConfigurer { @Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/density")
.setAllowedOrigins("*") //解决跨域问题
.withSockJS();
} @Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
}
}

|
1
2
3
|
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
WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法的更多相关文章
- Sub-process /usr/bin/dpkg returned an error code (1)错误解决办法
之前通过wine安装了一款软件,不经常用,也没有拆卸 可是之后呢,每次更新都要提示更新那个软件,更新的时候又总是找不到更新源 无奈之下,我通过软件中心移除wine,没想到竟然碰到依赖问题,没有拆卸成功 ...
- MySQL更新时Error Code:1093和Error Code:1175的解决办法
Error Code: 1093. You can't specify target table 'ws_product' for update in FROM clause 这个是我们在使用upda ...
- Uubntu E: Sub-process /usr/bin/dpkg returned an error code问题的解决办法
cd /var/lib/dpkg sudo mv info info.bak sudo mkdir info apt-get --reinstall install udev m ...
- Error reading from file 解决办法
最近安装程序遇见这个问题: Error reading from file. 解决办法: 给这个程序添加权限: 添加SYSTEM的读写改..如果比较懒,直接全部允许. 然后Retry.
- MySQL 执行SQL脚本 报ERROR 1231 (42000)的解决办法【转】
今天在source mysqldump 备份文件时,发现导入的过程中报如下的错误: ERROR 1231 (42000): Variable 'time_zone' can't be set to t ...
- mysql学习笔记1---mysql ERROR 1045 (28000): 错误解决办法
mysql ERROR 1045 (28000): 错误解决办法 在启动mysql服务后,登陆mysql的窗口的时候,执行mysql命令,结果报错,没法登陆. (在安装mysql和配置的时候,我是 ...
- 关于hexo博客自定义域名后gitment评论系统登陆出现redirect error返回主页的解决办法
title: 关于hexo博客自定义域名后gitment评论系统登陆出现redirect error返回主页的解决办法 toc: false date: 2018-04-16 22:57:50 cat ...
- Mysql 编译报错 g++: internal compiler error: Killed (program cc1plus) 解决办法
g++: internal compiler error: Killed (program cc1plus) 解决办法 g++: internal compiler error: Killed (pr ...
- MySQL Workbench “Error Code: 1175” 的解决方法
转自:http://www.linuxidc.com/Linux/2012-04/59333.htm 当用MySQL Workbench进行数据库的批量更新时,执行一个语句会碰到以下错误提示: Err ...
随机推荐
- delphi连接oracle数据库
使用ADO套接字连接: conn:= '(DESCRIPTION = '+ '(ADDRESS_LIST = '+ '(ADDRESS = (PROTOCOL = TCP)(HOST = '+host ...
- ADB命令使用大法
前言 Android开发调试工具ADB的使用.ADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的And ...
- 取消Windows server 2008关机提示备注的方法
打开“开始”-“运行”,在“打开”一栏中输入“gpedit.msc”命令打开组策略编辑器,依次展开“计算机配置”→“管理模板”→“系统”,双击右侧窗口出现的“显示‘关闭事件跟踪程序’”,将“未配置”改 ...
- python:单例模式--使用__new__(cls)实现
单例模式:即一个类有且仅有一个实例. 那么通过python怎么实现一个类只能有一个实例呢. class Earth: """ 假如你是神,你可以创造地球 "&q ...
- QT_QML_常见问题
1. qml文件中,如果要添加信号连接,如果与控件x有丁点关联,则将Connections{}最好放到该控件的{}内部,不这样做曾经遇到接受不到信号的奇葩问题. 2. 使用TabView时,在每个Ta ...
- 06-switch语句
switch语句 switch是一个条件语句,它是可以代替多个if else的常用方式 例子 package main import "fmt" func main() { a:= ...
- Detecting GAN-generated Imagery using Color Cues
Abstract 论文创新点:分析流行GAN网络结构得知,GAN网络生成得图片在颜色处理与真实摄像机拍摄的照片存在不同,主要表现在两方面. 实验结果:证明了两种线索能够有效区分GAN生 ...
- SpringCloud之Hystrix集群及集群监控turbine
目的: Hystrix集群及监控turbine Feign.Hystrix整合之服务熔断服务降级彻底解耦 集群后超时设置 Hystrix集群及监控turbine 新建一个springboot工程mic ...
- 在右键菜单中添加用Jupyter Notebook打开
在右键菜单中添加用Jupyter Notebook打开 为了把 Jupyter 的工作目录指定到某一个文件夹下,每次都要启动 CMD 终端, 然后激活 Anaconda 环境,再启动 Jupyter ...
- DHCP服务器的架设
DHCP服务器的架设 一.DHCP服务器的安装要求: 搭建DHCP服务器需要一些必备条件支持,主要有以下方面: 需要一台运行Windows Server系统的服务器,并为其指定静态IP地址. 根据子网 ...