Netty
文章平均质量分 75
最好束手就擒
这个作者很懒,什么都没留下…
展开
-
Netty12-TCP粘包拆包
假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到字节数是不定的,故可能存在以下四种情况:原创 2022-06-30 15:21:15 · 515 阅读 · 0 评论 -
Netty12-Netty的入站出站编解码
关系继承图粘包拆包:由于不可能知道远程节点是否会一次性发送一个完整的信息,tcp有可能出现粘包拆包的问题,** **这个例子,每次入站从ByteBuf中读取4字节,将其解码为一个int,然后将它添加到下一个List中。当没有更多元素可以被添加到该List中时,它的内容将会被发送给下一个ChannelInboundHandler。int在被添加到List中时,会被自动装箱为Integer。在调用readInt()方法前必须验证所输入的ByteBuf是否具有足够的数据入栈bytebuff为八个字节,此原创 2022-06-30 11:30:07 · 224 阅读 · 0 评论 -
Netty11-编码和解码-Protobuf
Netty 自身提供了一些 codec(编解码器)Netty 提供的编码器• StringEncoder,对字符串数据进行编码• ObjectEncoder,对 Java 对象进行编码Netty 提供的解码器• StringDecoder, 对字符串数据进行解码• ObjectDecoder,对 Java 对象进行解码Netty 本身自带的 ObjectDecoder 和 ObjectEncoder 可以用来实现 POJO 对象或各种业务对象的编码和解码,底层使用的仍是 Java 序列化技术 , 而原创 2022-06-29 15:27:28 · 499 阅读 · 0 评论 -
Netty10-WebSocket长连接开发
Netty 实现 Websocket长连接原创 2022-06-27 18:12:08 · 897 阅读 · 0 评论 -
Netty-9-Netty心跳检测
netty 心跳检测原创 2022-06-25 18:08:58 · 239 阅读 · 0 评论 -
Netty9-Netty实现群聊系统 并附 实现点对点私聊思路
Netty实现群聊系统原创 2022-06-25 17:14:30 · 506 阅读 · 0 评论 -
Netty8-Netty核心模块2
1) 保存 Channel 相关的所有上下文信息,同时关联一个 ChannelHandler 对象2) 即ChannelHandlerContext 中 包 含 一 个 具 体 的 事 件 处 理 器 ChannelHandler ,同时ChannelHandlerContext 中也绑定了对应的 pipeline 和 Channel 的信息,方便对 ChannelHandler进行调用.3) 常用方法...原创 2022-06-24 16:36:59 · 243 阅读 · 0 评论 -
Netty7-Netty核心模块
1) Netty 网络通信的组件,能够用于执行网络 I/O 操作。2) 通过Channel 可获得当前网络连接的通道的状态3) 通过Channel 可获得 网络连接的配置参数 (例如接收缓冲区大小)4) Channel 提供异步的网络 I/O 操作(如建立连接,读写,绑定端口),异步调用意味着任何 I/O 调用都将立即返回,并且不保证在调用结束时所请求的 I/O 操作已完成5) 调用立即返回一个 ChannelFuture 实例,通过注册监听器到 ChannelFuture 上,可以I/O 操作原创 2022-06-24 15:34:12 · 243 阅读 · 0 评论 -
Netty6-快速入门HTTP服务
HTTPServerInitializer 通道初始化对象创建一个通道初始化对象 并给WorkGroup的 EventLoop 对应的管道设置处理器 可以是Netty提供的 也可以是自定义的Http ServerHandle服务启动后访问监听的浏览器端口即可得到返回消息此时控制台打印会发现浏览器发送了两次请求一次是请求网站,一次是请求网站的图标进行请求过滤...原创 2022-06-24 13:37:37 · 343 阅读 · 0 评论 -
Netty5-Netty模型
ServerHandler中处理事件是有一个非常耗时长的业务 -> 异步执行 -> 提交该channel 对应的NIOEventLoop 的 taskQueue中解决方案1 用户程序自定义的普通(异步)任务解决方案2 : 用户自定义定时任务 -》 该任务是提交到 scheduleTaskQueue中Netty异步模型基本介绍说明:当 Future 对象刚刚创建时,处于非完成状态,调用者可以通过返回的 ChannelFuture来获取操作执行的状态,注册监听函数来执行完成后的操作。常见有如下操作• 通原创 2022-06-24 10:37:49 · 189 阅读 · 0 评论