springboot websocket无法连接的问题

情况说明:websocket在打成war包放到tomcat下面运行时可以连接成功,但是打成jar包放到服务器运行时就连接不上

错误提示 :Error during WebSocket handshake: Unexpected response code: 404

原因找了很久很久,终于找到了问题,是代码层面的问题

    //使用boot内置tomcat时需要注入此bean
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }

原先这个是被我注解注释掉的,因为用tomcat是可以不用到这个bean的,但是用jar包的时候是用的springboot的内置的tomcat

就需要加上这个bean

然后完美连接上了。。。。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spring Boot WebSocket无法连接可能是由于以下几个原因: 1. **配置错误**:检查应用启动类是否正确配置了WebSocket支持,通常通过引入`spring-boot-starter-websocket`依赖,并启用WebSocket相关的配置。 ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.EnableWebSockets; @SpringBootApplication @EnableWebSockets public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override public void configureMessageBroker(MessageBrokerRegistry config) { config.enableSimpleBroker("/topic"); config.setApplicationDestinationPrefixes("/app"); } } ``` 2. **端口冲突**:确认WebSocket服务器使用的端口没有被其他服务占用,可以修改`server.port`属性。 3. **防火墙设置**:如果在企业环境中,网络防火墙可能阻止WebSocket通信,需要开放相应的端口(默认是8080和443)。 4. **浏览器限制**:现代浏览器对WebSocket有一些安全策略,比如同源策略。确保WebSocket连接的URL和应用的域名一致。 5. **WebSocket客户端代码**:如果你的应用有前端部分,检查WebSocket连接代码是否正确,包括协议版本、连接地址等。 6. **调试日志**:查看Spring Boot应用程序的日志,看看是否有关于WebSocket的异常信息,这有助于定位问题
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值