Netty

优势
1.API使用简单,开发门槛低
2.功能强大,预置了多种编码功能,支持多种主流协议;
3.定制能力强,可以通过channelHandler对通信框架进行灵活地扩展;
4.性能高,通过与其他业界主流的NIO框架对比,netty的综合性能最优;
5.成熟、稳定,netty修复了已发现的所有jdk nio bug,业务开发人员不需要再为nio的bug而烦恼;

核心组件

Bootstrap、EvenLoop(Group)、Channel

Bootstrap:启动类,注方法类
EvenLoop:事件循环, 可以理解为一个线程
Channel:类似于Socket

在这里插入图片描述
事件和 ChannelHandler、ChannelPipeline

事件:把网络上法生的事情,和要做的事情包装成了事件
ChannelHandler:负责处理事件
ChannelPipeline:负责把ChannelHandler组织在一起(责任链模式)

ChannelFuture
出站操作,类似于future异步

代码

核心就是引擎这块,客户端,服务端万变不离其宗

客户端(固定的)

/**
 * 作者:yuyang
 * 类说明:基于Netty的客户端
 */
public class EchoClient {
   

    private final int port;
    private final String host;

    public EchoClient(int port, String host) {
   
        this.port = port;
        this.host = host;
    }

    public void start() throws InterruptedException {
   

        /*线程组*/
        EventLoopGroup group  = new NioEventLoopGroup();
        try {
   
            /*客户端启动必备*/
            Bootstrap b = new Bootstrap();
            b.group(group)
                    .channel(NioSocketChannel.class)/*指定使用NIO的通信模式*/
                    .remoteAddress(new InetSocketAddress(host,port))/*指定服务器的IP地址和端口*/
                    .handler(new ChannelInitializer<SocketChannel>() {
   </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值