关于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消息包,不需要再麻烦前端重复发送登录数据包了,减少一次网络传输成本。
00
相似问题