Java WebSocket客户端Spring启动

时间:2018-03-31 17:37:14

标签: java spring-boot stomp spring-websocket

我想创建一个带有连接到Web套接字服务器的Web套接字客户端的spring boot应用程序。

例如,我使用了Spring Boot中的入门指南。

https://spring.io/guides/gs/messaging-stomp-websocket/

在此示例中,您使用spring boot创建Web套接字服务器,然后使用JavaScript连接到它。

我想运行该服务器并使用另一个创建WebSocketClient对象的Spring启动应用程序连接到它。

这是我在Spring Boot客户端应用程序中创建的WebSocketClientConfiguration类

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketClientConfig {

    @Bean
    public WebSocketClient webSocketClient() {
        final WebSocketClient client = new StandardWebSocketClient();

        final WebSocketStompClient stompClient = new WebSocketStompClient(client);
        stompClient.setMessageConverter(new MappingJackson2MessageConverter());

        final StompSessionHandler sessionHandler = new MyStompSessionHandler();
        stompClient.connect("ws://localhost:8080", sessionHandler);
        return client;
    }
}

但是在我的类MyStompSessionHandler中,在handleTransportError方法中我可以看到异常是

javax.websocket.DeploymentException: The HTTP response from the server [200] did not permit the HTTP upgrade to WebSocket

知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

我终于想通了。失败的原因是你需要把它放在URL

WS://本地主机:8080 / GS-导向的WebSocket