netty
文章平均质量分 64
南京大学软工研究生
这个作者很懒,什么都没留下…
展开
-
Netty
当有的任务需要较长的时间处理时,可以使用非NioEventLoopGroup,避免同一个NioEventLoop中的其他Channel在较长的时间内都无法得到处理// 增加自定义的非NioEventLoopGroup@Override// 增加两个handler,第一个使用NioEventLoopGroup处理,第二个使用自定义EventLoopGroup处理@Override// 调用下一个handler})// 该handler绑定自定义的Group@Override})原创 2023-12-24 09:54:31 · 432 阅读 · 0 评论 -
Netty学习之NIO基础
Channel与BufferJava NIO系统的核心通道(Channel)和缓冲区(Buffer)。通道表示打开到 IO 设备(例如:文件、套接字)的连接。若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道以及用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理简而言之,通道负责传输,缓冲区负责存储常见的Channel有以下四种,其中FileChannel主要用于文件传输,其余三种用于网络通信Buffer有以下几种,其中使用较多的是ByteBufferByteBuffer。原创 2023-12-23 15:35:57 · 1179 阅读 · 0 评论 -
ProtoBuf语法version3
ProtoBuf语法version3 syntax = "proto3"; //语法版本 package com.njit.cn; //生成的java类所在包名 message Person { //pojo int32 id = 1; //int变量 string name = 2;//字符串变量 repeated string emails = 3;//emails list集合 } -I:.proto文件所在的目录 --java_out:遍历后的java文件目录地址 perso原创 2021-09-15 23:22:52 · 157 阅读 · 0 评论 -
Netty 数据在管道中的流通
Netty 数据在管道中的流通 netty框架提供了多种编解码工具类对接收/发送的数据类型进行转化后再放到管道中流通。当然,也可以自己继承抽象类定制自己的编解码工具。今天,以管道中的数据格式转化角度来分析一下管道的工作流程。 一、Read数据 // 分包,把数据读到buf中 arg0.pipeline().addLast(new LineBasedFrameDecoder(1024)); // 把buf中的数据转成string,在管道中流通 arg0.pipeline().add原创 2021-09-15 12:47:38 · 174 阅读 · 0 评论 -
Netty 序列化框架
Netty 序列化框架 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vp7ElmXY-1631631213919)(C:\Users\XIAODO~1\AppData\Local\Temp\1631623869664.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NiseYZNc-1631631213923)(C:\Users\XIAODO~1\AppData\Local\Temp\1631623931118.png)] 常见的序原创 2021-09-14 22:55:45 · 95 阅读 · 0 评论 -
Netty 解决粘包半包问题
Netty 解决粘包/半包问题 解决Tcp粘包问题的主流方法有如下几种 客户端和服务端应用程序在接收数据时按 换行符进行分包 --Netty中的LineBasedFrameDecoder 客户端和服务端应用程序在接收数据时按指定分隔符 进行分包–Netty中的DelimiterBasedFramDecoder 客户端和服务端应用程序在接收数据时按固定长度进行分包–Netty中的FixedLengthFrameDecoder 客户端和服务端应用程序在收发数据时按块编码, (需要自己实现,N原创 2021-09-14 20:38:45 · 272 阅读 · 0 评论