package com.anyun.im_lib.netty;
|
|
import com.anyun.im_lib.HeartbeatRespHandler;
|
import com.anyun.im_lib.LoginAuthRespHandler;
|
import com.anyun.im_lib.interf.IMSClientInteface;
|
|
import io.netty.channel.Channel;
|
import io.netty.channel.ChannelInitializer;
|
import io.netty.channel.ChannelPipeline;
|
|
/**
|
* MyApplication2
|
* channel初始化
|
* Created by lzw on 2019/12/2. 15:56:39
|
* 邮箱:632393724@qq.com
|
* All Rights Saved! Chongqing AnYun Tech co. LTD
|
*/
|
public class TCPChannelInitializerHandler extends ChannelInitializer<Channel> {
|
|
private IMSClientInteface imsClient;
|
|
public TCPChannelInitializerHandler(NettyTcpClient nettyTcpClient) {
|
this.imsClient = nettyTcpClient;
|
}
|
|
@Override
|
protected void initChannel(Channel channel) throws Exception {
|
ChannelPipeline pipeline = channel.pipeline();
|
|
//netty提供的自定义长度解码器,解决TP拆包/粘包问题
|
|
// TODO: 2019/12/4
|
|
|
//握手认证消息相应处理handler
|
pipeline.addLast(LoginAuthRespHandler.class.getSimpleName(), new LoginAuthRespHandler(imsClient));
|
|
//心跳消息响应处理handler
|
pipeline.addLast(HeartbeatRespHandler.class.getSimpleName(), new HeartbeatRespHandler(imsClient));
|
|
//接收消息处理handler
|
pipeline.addLast(TCPReadHandler.class.getSimpleName(),new TCPReadHandler(imsClient));
|
}
|
}
|