【问题标题】:websocket handhsake exception: 200websocket握手异常:200
【发布时间】:2019-09-14 09:04:15
【问题描述】:

我正在使用 springboot 来设置我的 websocket 端点和 angularJs 来连接到我的端点。我以前做过,那次效果很好。但现在当我在新项目中这样做时。它给了我握手错误。下面是我的代码:

Websocket 配置

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {


    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/chatService").setAllowedOrigins("*").addInterceptors(new HttpSessionHandshakeInterceptor());
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.setApplicationDestinationPrefixes("/app");
        registry.enableSimpleBroker("/chat");
    }
}

angularJs 代码:

var socket = new WebSocket('ws://192.168.225.133:9191/chatService');
//              console.log(socket);
                stompClient = Stomp.over(socket);
                stompClient.connect({}, function(frame) {

                    if(frame.command=="CONNECTED"){
                    //alert(frame);
                    //showLoader(false);
                        stompClient.subscribe('http://localhost:9191/chat/messages', function(response) {
                            var data = JSON.parse(response.body);
                             chat.gif=false;
                            console.log("data_json...");
                            if(data.to==$scope.admin.id)
                            $scope.getMessagesById(data.from,1);
                            else
                                $scope.getMessagesById(data.to,1);
                            console.log(data);
                            $scope.myImgs=null;


                        });
                    }
                    else{
                        var r = confirm("Could not connect! Retry?");
                        if (r == true) {
                            connect();
                        } 
                    }

                });

            }

【问题讨论】:

    标签: spring-websocket


    【解决方案1】:

    在我的项目中有一个客户端转发控制器。禁用它可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-04
      • 2016-09-20
      • 1970-01-01
      • 2011-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多