我有一个springboot应用程序,我想使websocket通过电话之类的设备进行连接,所以我正在寻找一种使我的websocket具有以“ ws://”开头的入口点的方法。在测试我的默认Websocket URL(在“ http://www.websocket.org/echo.html”上应为“ ws:// localhost:8080 / websocket-example”)时,它不会通过。但是sockjs使用(“ http://localhost:8080/websocket-example”)在我的客户端中调用它,它可以正常工作:
var socket = new SockJS('http://localhost:8080/websocket-example');
stompClient = Stomp.over(socket);
stompClient.connect({},function (frame) {
}
我目前正在使用stomp,其配置如下所示:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
stompEndpointRegistry.addEndpoint("/websocket-example")
.setHandshakeHandler(new CustomHandshakeHandler()).setAllowedOrigins("*")
.withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic");
registry.setApplicationDestinationPrefixes("/app");
}
}
根据此post,它说我可以通过删除.withSockJS()
来实现ws://入口点,但是它仍然没有用(在进一步阅读时,有人说这没有用)在springboot上)。另一个选项是完全删除脚,此选项有效,但后来我无法将消息直接路由到个人用户。
如何在服务器端保持脚踩的同时创建ws://入口点?
答案 0 :(得分:0)
我有类似的问题。试试这个,应该有帮助。
var socket = new WebSocket('ws://localhost:8080/websocket-example/websocket');