zoukankan      html  css  js  c++  java
  • Spring 中使用 WebSocket 笔记

    编写 WebSocket 消息处理类,比较简单的方式就是直接继承AbstractWebSocketHandler,并覆写其中的处理方法,下面为一个简单的 demo

    public class WebSocketHandler extends AbstractWebSocketHandler {
    ​
        @Override
        protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
            logger.info("Received message: " + message.getPayload());
            TimeUnit.SECONDS.sleep(2);
            session.sendMessage(new TextMessage("Polo!"));
        }
        
    }

    启用 WebSocket,并映射消息处理器

    @Configuration
    @EnableWebSocket
    public class WebSocketConfig implements WebSocketConfigurer{
    ​
        // 要映射的 WebSocket 消息处理器(类)
        @Bean
        public WebSocketHandler webSocketHandler() {
            return new WebSocketHandler();
        }
        
        // 映射消息处理器到对应的路径
        @Override
        public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
            registry.addHandler(webSocketHandler(), "/macro");
            
        }
    ​
    }

    之后即可在 javascript 端进行互相通信,demo 如下

    var url = 'ws://' + window.location.host + '/demo/macro';
    var sock = new WebSocket(url);
    sock.onopen = function() {
        console.log("Opening");
        sayMarco();
    }
            
    sock.onmessage = function(e) {
        console.log("Received messaage: " + e.data);
        setTimeout(function(){sayMarco()}, 2000);
    }
            
    sock.onclose = function() {
        console.log("Closing");
    }
            
    function sayMarco() {
        console.log('Sending Marco!');
        sock.send('Marco!');
    }
  • 相关阅读:
    2013面试C++小结
    Linux C 面试题总结 .
    [SCOI2011]糖果
    python——简单爬虫
    python——ADSL拨号程序
    python——处理xls表格
    Vsphere初试——架设Panabit行为管理
    Vsphere初试——使用Vsphere client
    Vsphere初试——基本安装
    Python2与Python3的不同点
  • 原文地址:https://www.cnblogs.com/zawier/p/7368381.html
Copyright © 2011-2022 走看看