public class TCPServerHandler extends ChannelInboundHandlerAdapter {
public TCPServerHandler() {
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
//拿到传过来的msg数据,开始处理
}
//检测到空闲连接,触发
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
//这里可做一些断开连接的处理
}
}
BussinessHandler的实���与TCPServerHandler基本类似,它可以处理一些相对比较耗时的操作,我们这里就不实现了。
通过以上的代码我们可以看到,一个基于netty的TCP服务的搭建基本就是三大块:
1、对引导服务器类ServerBootstrap的初始化;
2、对ChannelPipeline的定义,也就是把多个ChannelHandler组成一条任务链;
3、对 ChannelHandler的具体实现,其中可以有编解码器,可以有对收发数据的业务处理逻辑;
以上代码只是在基于netty框架搭建一个最基本的TCP服务,其中包含了一些netty基本的特性和功能,当然这只是netty运用的一个简单的介绍,如有不正确的地方还望指出与海涵。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx