zoukankan      html  css  js  c++  java
  • spring websocket 记录

    websocket 在于建立全双工的通信方式

    先从客户端说起:

      var socket = new WebSocket(url); 建立一个WebSocket连接

      在创建WebSocket之后。可以通过onopen,onmessage,onclose及onerror四个事件实现对socket进行响应

      比较重要的就是第三个:当客户端收到服务端发来的消息时,触发onmessage事件

      给服务端发消息:socket.send(JSON.stringify(message));

    在服务端Spring方面:

      首先用注解声明一个关于WebSocket的配置类:

    @Configuration
    //声明当前类是一个配置类,相当于一个Spring的XML配置文件,与@Bean配合使用。
    @EnableWebMvc
    @EnableWebSocket
    public class WebSocketConfig extends WebMvcConfigurerAdapter implements WebSocketConfigurer{
    
    	@Override
    	public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
    		 registry.addHandler(systemWebSocketHandler(),"webSocketServer.do");
    	}
    
            ……
    }
    

      里面这个方法大概就是注册处理器,即将addHandler的第二个参数作为请求,交给第一个参数处理,这时候目光转移到处理器Handler去

      Handler是一个实现WebSocketHandler接口的类,里面有这么一些方法:

      1、afterConnectionEstablished:连接成功建立后调用

      2、handleMessage:在新WebSocket消息到达时调用

      3、handleTransportError:抛出异常时调用

      4、afterConnectionClosed:在任何一方关闭WebSocket连接或发生传输错误后调用

      5、supportsPartialMessages:……

      具体看官方文档

  • 相关阅读:
    MVC 传值
    LINQ to SQL 语句(2)之 Select/Distinct
    LINQ to SQL 语句(1)之 Where
    输入变量相同情况下,结果不正确
    vmware ubuntu 切换终端命令行
    汉字编码问题
    Windows API所提供的功能可以归为七类
    比较好的c++博文
    环境和库的引入
    C#调用Fortran生成的DLL的方法报内存不足
  • 原文地址:https://www.cnblogs.com/LinsenLi/p/9833384.html
Copyright © 2011-2022 走看看