Netty搭建TCP服务器实践(3)

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/419f533dc1b1d9c1e17743c4458fd603.html