我想创建一个带有连接到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
知道我做错了吗?
答案 0 :(得分:1)
我终于想通了。失败的原因是你需要把它放在URL
中WS://本地主机:8080 / GS-导向的WebSocket