Netty+Websocket 初入理解

本文深入探讨Netty+Websocket的核心组件及其工作原理,包括Channel通信通道、ChannelFuture异步操作、ChannelPipeline处理器链、ChannelHandler数据处理、Bootstrap引导配置、EventLoop事件循环及SslHandler加密解密等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Netty+Websocket 笔记

初入理解Netty+Websocket,需要了解其中的类和方法有什么作用,以下是自己总结的一些自己用到的:

Channel 通信通道,代表一个socket链接

ChannelFuture 执行异步操作

ChannelPipeline 管道:每个Channel都有关联的ChannelPipeline,提供handler链的容器

ChannelHandler 数据处理容器

Bootstrap 引导类,应用程序网络层配置的容器。

EventLoop 用于处理Channel的I/O操作,一个EventLoop处理多个Channel,一个EventLoopGroup包含多个EventLoop。

ChannelHandler分为入站(ChannelInHandler)和出站(ChannelOutHandler)两种,在引导程序的时候,被加入ChannelPipeline,被增加进入的顺序,决定了执行的顺序。
入站时,从ChannelPipeline的第一个ChannelInHandler执行到最后一个。出站时,从ChannelPipeline的最后一个ChannelOutHandler执行到第一个。在ChannelHandler之间传递的是ChannelHandlerContext,可以看作是ChannelHandler与ChannelPipeline之间的绑定关系。通过ChannelHandlerContext.channel().writeAndFlush写入消息,是到达ChannelPipeline尾部才写入消息,而ChannelHandlerContext.writeAndFlush写入消息,是到达下一个ChannelInHandler就写入消息。

SimpleChannelboundHandler 常见处理器,只需要继承SimpleChannelboundHandler即可。

Channel生命周期:
Channel生命周期

Handler的生命周期
在这里插入图片描述

SslHandler 实现SSL/TLS加密解密
大多数情况下,SslHandler都作为ChannelPipeline的第一个Handler。

HttpServerCodec Http消息编码器
增加HTTP消息编码器,HttpServerCodec,消息聚合HttpObjectAggregator(512)。最大值为512kb。

WebSocket数据传输:
在这里插入图片描述
空闲连接以及超时:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值