深入理解WebSocket 实现数据实时刷新

一、概述

WebSocket 是HTML5的一个新协议,WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

二、WebSocket的应用场景

社交聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、体育实况更新、视频会议/聊天、基于位置的应用、在线教育、智能家居等需要高实时的场景

三、实现

3.1、WebsocketInterceptor

建立链接时,websocketInteceptor对封装在WebsocketSession进行处理,用于初始化用户信息。(当客户端与服务器端握手之前之前执行的方法)

HttpSession session = request1.getSession(false);

ip = IpUtil.getIpAddr(request1);

if(session !=null){

WebsocketSessionUtil.initUser(session, attributes);

}

3.2、处理类:

Handler--建立连接,发送消息,关闭连接自动执行,消息处理,在客户端通过Websocket API发送的消息会经过这里,然后进行相应的处理

3.3、执行顺序

WebsocketConfigNew(registerWebSocketHandlers)--》WebsocketInterceptor -》MyWebSocketHandler-》WebsocketSessionUtil

0 = "http://www.websocket-test.com"

1 = "http://localhost:9090"

2 = "http://0.0.0.0:9090"

你可能感兴趣的:(深入理解WebSocket 实现数据实时刷新)