一、概述
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"
网友评论