netty学习
文章平均质量分 82
东羚
这个作者很懒,什么都没留下…
展开
-
<2021SC@SDUSC>ByteToMessageDecoder
2021SC@SDUSC文章目录前言一、ByteToMessageDecoder二、callDecode三、channelRead四、总结前言在之前的几篇博客中,分析了几种netty内置的解码器,它们都继承了ByteToMessageDecoder类,也分析了它们对消息的解码过程,也就是decode方法。在本篇博客中,只会简单地介绍ByteToMessageDecoder类调用decode的过程。一、ByteToMessageDecoderByteToMessageDecoder类继承自Chann原创 2021-12-26 15:14:58 · 337 阅读 · 0 评论 -
<2021SC@SDUSC>netty常见编解码器(四)
2021SC@SDUSC文章目录前言一、LengthFieldBasedFrameDecoder类二、属性及构造函数三、例子四、decode方法五、总结前言在这一篇博客中,将会介绍netty的LengthFieldBasedFrameDecoder类,通过自定义长度解决TCP粘包拆包问题。一、LengthFieldBasedFrameDecoder类package io.netty.handler.codec;import static io.netty.util.internal.Objec原创 2021-12-19 14:44:13 · 156 阅读 · 0 评论 -
<2021SC@SDUSC>netty常见编解码器(三)
2021SC@SDUSC文章目录前言一、DelimiterBasedFrameDecoder.java二、属性三、decode四、总结前言在这一篇博客中,将会介绍netty的DelimiterBasedFrameDecoder类,以特殊字符作为结束消息的结束符,用以解决粘包拆包问题。一、DelimiterBasedFrameDecoder.javapackage io.netty.handler.codec;import static io.netty.util.internal.Object原创 2021-12-11 21:47:28 · 176 阅读 · 0 评论 -
<2021SC@SDUSC>netty常见编解码器(二)
2021SC@SDUSC文章目录前言一、FiexedLengthFrameDecoder二、分析三、使用四、总结前言在这一篇博客中,将会介绍netty的FixedLengthFrameDecoder类,实现了固定长度的解码,是解码器中最简单的一个,但是实用性不高,所以不常使用。一、FiexedLengthFrameDecoderpackage io.netty.handler.codec;import static io.netty.util.internal.ObjectUtil.check原创 2021-12-04 09:22:45 · 118 阅读 · 0 评论 -
<2021SC@SDUSC>netty常见编解码器(一)
2021SC@SDUSC文章目录前言一、LineBasedFrameDecoder二、分析三、总结前言从本篇博客开始,会介绍netty中已经实现的几种编码器和解码器。在本篇博客中,将会介绍netty的LineBasedFrameDecoder类,它是基于换行符\r\n将消息分割成不同的部分。一、LineBasedFrameDecoderpackage io.netty.handler.codec;import io.netty.buffer.ByteBuf;import io.netty.c原创 2021-11-27 14:50:54 · 103 阅读 · 0 评论 -
<2021SC@SDUSC>netty@Sharable
2021SC@SDUSC文章目录前言一、代码二、常见问题三、@Sharable的检查四、编解码器相关五、总结前言在继续阅读netty的编解码器相关的源码之前,先补充一下netty框架的@Sharable注解,通过该注解,可以在多个ChannelPipeline中共享同一个ChannelHandler。一、代码首先,修改部分之前写的示例代码,来体验Sharable注解的使用。新建TestSharableHandler类,采用单例模式。package com.homework.server_cli原创 2021-11-20 16:51:30 · 478 阅读 · 0 评论 -
<2021SC@SDUSC>netty编解码器
2021SC@SDUSC文章目录前言一、Encoder二、Decoder三、问题四、总结前言在之后的几篇博客中,将会主要介绍netty的编解码器,并且会介绍几种常见的编码器、解码器,以及它们的使用场合。编解码器的作用就是将原始的数据与目标数据的格式进行互相转换。在网络中,数据以bit流的形式来传输,encoder编码器负责将数据转换成适合传输的格式,而decoder解码器负责将传输的数据还原成原先的数据,在本篇博客中,将会看到,实际上,encoder、decoder都是ChannelHandler。原创 2021-11-13 11:16:47 · 242 阅读 · 0 评论 -
<2021SC@SDUSC>netty使用——简易聊天室实现
2021SC@SDUSC文章目录前言一、服务端1、Server2、ServerInitializer3、ServerHandler二、客户端1、Client2、ClientInitializer3、ClientHandler总结前言在之前的博客netty初步使用中,简单地编写了客户端与服务端的代码,实现了双向通信,这次,在上次的代码的基础上做了些改进,初步实现了聊天室的功能。一、服务端1、ServerServer类本身没有太多的变化,只是关于ServerInitializer的添加方式,由原本的原创 2021-11-06 11:07:01 · 94 阅读 · 0 评论 -
<2021SC@SDUSC>ServerBootstrap绑定端口(二)
2021SC@SDUSC文章目录一、前言二、initAndRegister三、doBind0四、pipeline的addLast方法五、总结一、前言在本篇博客中,会承接上一篇博客中对服务器端的端口绑定方法的分析,继续学习剩余的内容,包括initAndRegister和dobind0等方法。二、initAndRegister final ChannelFuture initAndRegister() { Channel channel = null; try {原创 2021-10-28 20:25:20 · 177 阅读 · 0 评论 -
<2021SC@SDUSC>ServerBootstrap绑定端口
2021SC@SDUSC文章目录一、前言二、ServerBootstrap类三、bind四、doBind五、总结一、前言在之前的博客中,大致分析了netty的NioEventLoopGroup的创建过程,在这篇博客中,将会分析ServerBootstrap的绑定方法,这是服务器端的方法。二、ServerBootstrap类ServerBootstrap是netty的服务器启动的引导类。public class ServerBootstrap extends AbstractBootstrap&l原创 2021-10-24 16:14:41 · 999 阅读 · 0 评论 -
<2021SC@SDUSC>NioEventLoopGroup创建过程(二)
2021SC@SDUSC文章目录一、前言二、newChild(Executor executor, Object... args)三、失败后关闭线程四、其它五、总结一、前言在上一篇博客中,主要分析了NioEventLoopGroup创建过程中的大体过程。在本篇博客中,将会分析一些创建过程中的细节,包括NioEventLoopGroup类中的newChild()方法,创建失败后的关闭过程,以及一些其它的工作。二、newChild(Executor executor, Object… args)在上一原创 2021-10-17 19:06:38 · 102 阅读 · 0 评论 -
<2021SC@SDUSC>NioEventLoopGroup创建过程(一)
2021SC@SDUSC文章目录一、前言二、NioEventLoopGroup三、NioEventLoopGroup构造方法四、MultithreadEventLoopGroup构造方法五、MultithreadEventExecutorGroup构造方法六、总结一、前言本篇博客将会基于上一篇博客中服务端的代码,分析bossGroup和workerGroup在创建过程中,具体进行了什么操作。注意到,bossGroup和workerGroup其实都是NioEventLoopGroup类的实例。二、Ni原创 2021-10-09 20:09:41 · 109 阅读 · 0 评论 -
<2021SC@SDUSC>netty初步使用
<2021SC@SDUSC>文章目录一、前言二、服务端代码三、客户端代码四、总结一、前言在学习的第一个礼拜,先完成第二个目标,即使用netty编写服务端和客户端的程序,实现服务端和客户端的双向通信。当然,会在之后的学习过程中逐步完善。二、服务端代码import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io原创 2021-10-03 18:52:08 · 122 阅读 · 0 评论 -
<2021SC@SDUSC>netty学习综述
2021@SDUSC学习目标:学习内容:系统安装:原创 2021-09-29 18:43:21 · 114 阅读 · 0 评论