关于websocket连接IM服务有几个疑问

来源:8-6 直播间内接入IM服务

weixin_慕的地4070866

2023-09-04

1.这两个handler的处理顺序是什么呢?首先触发channelRead()再触发channelRead0()吗?
图片描述
图片描述

2.channelRead中根据msg类型来判断请求类型,如果第一次连接前端则请求为FullHttpRequest,交给handleHttpRequest建立长链接?后续的前端请求则传递给下一个链路,下一个链路是channelRead0()吗?
图片描述

3.channelRead进入handleHttpRequest中,token校验成功并建立握手连接后,执行loginMsgHandler.loginSuccessHandler()方法,是不是就代替了之前的HandlerFactory中的IM_LOGIN_MSG功能,后续前端就不用发送LoginMsg来进行登录处理了?
图片描述

4.如果msg为CloseWebSocketFrame类型则直接关闭握手,通过channelInactive来处理logout业务?
图片描述

有不少疑问,麻烦老师详细解答了。

写回答

1回答

Danny_Idea

2023-09-06

先是经过WsSharkHandler,再是经过WsImServerCoreHandler,这两个handler的职责不同,一个要负责首次的ws握手链接,一个要负责后续的消息通讯。握手链接建立成功,直接发送login消息包,不需要再麻烦前端重复发送登录数据包了,减少一次网络传输成本。

0
0

SpringCloudAlibaba高并发仿斗鱼直播平台实战

SpringCloudAlibaba高并发仿斗鱼直播平台实战

421 学习 · 344 问题

查看课程