具有Sockjs和Spring 4但不带Stomp的WebSocket

具有Sockjs和Spring 4但不带Stomp的WebSocket,第1张

具有Sockjs和Spring 4但不带Stomp的WebSocket

Spring支持

STOMP
以上功能,
WebSocket
不是必须
使用子协议,您可以处理原始的websocket。当使用原始websocket时,发送的消息缺乏信息,无法使Spring将其路由到特定的消息处理程序方法(我们没有任何消息协议),因此,除了注释您的控制器,您必须实现一个
WebSocketHandler

public class GreetingHandler extends TextWebSocketHandler {    @Override    public void handleTextMessage(WebSocketSession session, TextMessage message) {        Thread.sleep(3000); // simulated delay        TextMessage msg = new TextMessage("Hello, " + message.getPayload() + "!");        session.sendMessage(msg);    }}

然后将您的处理程序添加到配置中的注册表中(您可以添加多个处理程序并

SockJS
用于后备选项):

@Configuration@EnableWebSocketpublic class WebSocketConfig implements WebSocketConfigurer {    @Override    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {        registry.addHandler(greetingHandler(), "/greeting").withSockJS();    }    @Bean    public WebSocketHandler greetingHandler() {        return new GreetingHandler();    }}

客户端将是这样的:

var sock = new SockJS('http://localhost:8080/greeting');sock.onmessage = function(e) {    console.log('message', e.data);}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5478447.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存