手写RPC框架:5分钟极速入门Netty的使用

本文介绍了如何使用Netty开发网络应用,通过一个简单的客户端向服务端发送消息并接收回应的例子,阐述了ChannelHandler的作用和生命周期,以及@ChannelHandler.Sharable注解的含义。同时解释了客户端为何使用SimpleChannelInboundHandler,服务端使用ChannelInboundHandlerAdapter的原因,并探讨了Netty的ChannelPipeline和ChannelHandlerContext的概念。
摘要由CSDN通过智能技术生成

在这里插入图片描述

介绍

当我们用Netty开发网络应用程序时,一般只需要写对应的ChannelHandler即可,在ChannelHandler中处理业务逻辑

Channel是网络通信的载体,你可以把它认为是一个实际的物理连接,Channel有很多种事件,如连接建立,连接关闭,数据读取。随着事件的发生会让Channel处于不同的生命周期,当对应的事件发生时,会回调ChannelHandler接口的对应方法

事件回调方法 解释
channelRegistered Channel创建后被注册到EventLoop上
channelUnregistered Channel创建后未注册或者从EventLoop取消注册
channelActive Channel处于就绪状态,可以被读写
channelInactive Channel处于非就绪状态
channelRead Channel读取到数据
channelReadComplete Channel读取数据完成
exceptionCaught 处理过程中ChannelPipeline有错误产生时被调用

我们先用Netty实现一个简单的功能,即客户端给服务端发送一条消息,服务端收到后原

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java识堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值