• springboot简单整合websocket


    <!-- websocket -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-websocket</artifactId>
            </dependency>
    /**
     * WebSocket方法
     * @author Administrator
     *
     */
    @Component
    @ServerEndpoint("/webSocket")
    public class WebSocket {
    
        private Session session;
        
        private static CopyOnWriteArraySet<WebSocket> webSocketSet = new CopyOnWriteArraySet<WebSocket>();
        
        /**
         * 开启
         * @param session
         */
        @OnOpen
        public void opOpen(Session session) {
            this.session = session;
            webSocketSet.add(this);
            System.out.println("有新的连接,总数:"+webSocketSet.size());
        }
        
        /**
         * 关闭
         */
        @OnClose
        public void onClose() {
            webSocketSet.remove(this);
            System.out.println("连接断开,总数:"+webSocketSet.size());
        }
        
        /**
         * 接受消息
         * @param message
         */
        @OnMessage
        public void onMessage(String message) {
            System.out.println("收到客户端消息:"+message);
        }
        
        /**
         * 发送消息
         * @param message
         */
        public void sendMessage(String message) {
            for (WebSocket webSocket : webSocketSet) {
                try {
                    webSocket.session.getBasicRemote().sendText(message);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            
        }
        
    }
    /**
     * 注入WebSocket
     * @author Administrator
     *
     */
    @Configuration
    public class WebSocketConfig {
        
        @Bean
        public ServerEndpointExporter serverEndpointExporter() {
            return new ServerEndpointExporter();
        }
    
    }
        if('WebSocket' in window){
              websocket = new WebSocket("ws://127.0.0.1:8080/......");
         }else{
             alert("该浏览器暂不支持websocket");
         }
        
        websocket.onopen = function(event){
            console.log("建立连接");
        }
        
        websocket.onclose = function(event){
            console.log("断开连接");
        }
        
        websocket.onmessage = function(event){
        String message = event.data //接受到消息后的逻辑
    } websocket.onerror = function(event){ alert("websocket通讯发生错误"); } window.onbeforeunload = function(){ websocket.close(); }
  • 相关阅读:
    洗礼灵魂,修炼python(48)--巩固篇—模块
    洗礼灵魂,修炼python(48)--巩固篇—模块
    洗礼灵魂,修炼python(48)--巩固篇—模块
    Excel中拆分列
    Excel中拆分列
    Excel中拆分列
    Excel中拆分列
    Eclipse新建类的时候如何自动添加注释(作者,时间,版本等信息)
    Eclipse新建类的时候如何自动添加注释(作者,时间,版本等信息)
    用golang实现DDOS攻击网站
  • 原文地址:https://www.cnblogs.com/ch94/p/14741500.html
Copyright © 2020-2023  润新知