一、需求
- 股价展示页面实时的获取股价更新
- 赛事的文字直播 实时更新赛况
- 
二、服务端推送常用技术
- 全双工通信 webSocket 
- 服务端主动推送SSE (server and event )直接建立在http协议上 长连接 - 三、双工通信webSocket
- 兼容HTTPS协议 - WebSocket的ws协议是基于HTTP
- WebSocket的wss协议是基于HTTPS
 
- 全双工数据交互- onopen
- onmessage
 
 
- 群发 
- 加依赖 - <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-websocket</artifactId>
- </dependency>
 
- 实现websocketConfig - @Configuration
- public class WebSocketConfig {
- @Bean
- public ServerEndpointExporter serverEndpointExporter() {
- return new ServerEndpointExporter();
- }
- }
 
- 实现MyWebSocket - 需要添加的注解- @ ServerEndpoint(value=”/websocket”)
- @Compenent
 
- 变量声明 - /**
- * 静态变量,用来记录当前在线的连接数
- */
- private static int onlineCount = 0;
- /**
- * concurrent包中的线程安全的Set,用来存放每个客户端MyWebSocket对象
- */
- private static CopyOnWriteArraySet<MyWebSocket> myWebSockets = new CopyOnWriteArraySet<>();
- /**
- * 与某个客户端的连接会话
- */
- private Session session;
 
- 实现方法 - 建立连接
- 连接关闭
- 封装基础的发送消息的操作
- 发送消息【添加@OnMessage注解】
- 群发消息
- 出现错误【添加@OnError注解】
 
- 建立连接
 
- 需要添加的注解
- 前端长时间和后台保持通讯的三种方式:ajax的setInterval、webSocket、SSE- ajax长时间和服务端保持通讯太占内存
- websocket可以进行服务器和前端双向通讯
- SSE只能进行服务器往前端单向传送数据
 
 






 
                         
                                

