
Netty
shumeigang
这个作者很懒,什么都没留下…
展开
-
Netty ChannelPipline
ChannelPipeline简介 Netty的ChannelPipeline和ChannelHandler机制类似于Servlet和Filter过滤器,这类拦截实际上是职责链模式的一种变形,主要是为了方便事件的拦截和用户业务逻辑的定制。 ChannelPipeline类是ChannelHandler实例对象的链表,用于处理或截获通道的接收和发送数据。它提供了一种高级的截取过滤模式(类似serverlet中的filter功能),让用户可以在ChannelPipe...原创 2020-10-15 11:02:00 · 212 阅读 · 0 评论 -
Netty Unsafe 功能说明
Unsafe简介Unsafe接口实际上是Channel接口的辅助接口,它不应被用户代码直接调用,实际的I/O读写操作者是由Unsafe接口负责完成的。在netty中一个很核心的组件,封装了java底层的socket操作,作为连接netty和java 底层nio的重要桥梁。Unsafe API功能列表...原创 2020-10-09 16:47:53 · 595 阅读 · 0 评论 -
Netty Channel
Channel简介 channel是netty网络IO操作抽象出来的一个接口,主要功能有:网络IO的读写,客户端发起连接、主动关闭连接,链路关闭,获取通信双方的网络地址等,还提供了与netty框架相关的操作,如获取channel相关联的EventLoop、pipeline等。channel工作原理Netty 网络通信的组件,能够用于执行网络 I/O 操作。Channel 为用户提供: 当前网络连接的通道的状态(例如是否打开?是否已连接?) 网络连接的配置参数 (例如接收缓...原创 2020-09-23 19:13:42 · 447 阅读 · 0 评论 -
Netty ByteBuf
ByteBuf的工作原理ByteBuf依然是个Byte数组的缓冲区,它的基本功能应该与JDK的ByteBuffer一致ByteBuf通过两个位置指针来协助缓冲区的读写操作,读操作使用readerIndex,写操作使用writerIndexreaderInder和writerIndex的取值一开始都是0,随着数据的写入writerIndex会增加,读取数据会使readerIndex增加,由于写操作不修改readerIndex指针,读操作不修改writerIndex指针,因此读写之间不...原创 2020-09-23 16:14:54 · 177 阅读 · 0 评论 -
Netty UDP
UDP介绍 UDP 是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,速度快,可能会丢包,UDP段结构比TCP的段结构简单,因此网络开销也小。UDP数据报格式有 首部和数据两个部分首部为8个字节包括以下部分(1)源端口:源端口号,2个字节,最大值为65525(2)目的端口:目的端口号,2个字节,最大值为65525(3)长度:2字节,UDP用户数据报的总长度(4)校验和:2字节,用于校验UDP数据报的数字段和包含UDP数据报首部的“伪首部...原创 2020-09-22 16:07:00 · 599 阅读 · 0 评论 -
Netty Websocket使用
Netty Websocket协议开发 Netty基于HTTP协议栈开发了WebSocket协议栈,利用Netty的WebSocket协议栈可以方便开发WebSocket客户端和服务端Netty Websocket服务端1Netty Websocket服务端启动类package com.webSocket;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;im...原创 2020-09-21 14:49:00 · 269 阅读 · 0 评论 -
Netty http协议开发应用
Http协议概述1.什么是Http协议 HTTP是一个属于【应用层】的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。2.HTTP协议的主要特点 1) 支持Client/Server模式 2)简单--客户向服务器请求,只需指定服务URL,携带必要的请求参数或者消息体 3)灵活---HTTP允许输任意类型的数据对象 4)无状态--HTTP协议是无状态协议,无状态是指协议对于事务处理没有记忆能力。3HTTP协议的URL...原创 2020-09-11 13:27:24 · 149 阅读 · 0 评论 -
Netty+JBoss
JBoss Marshalling是一个java对象序列化包,对JDK默认的序列华框架进行了优化,但又保持跟java.io.Serizlizable接口的兼容,同时增加了一些可调的参数和附加的特性,这些参数和特性可通过工厂进行配置。Netty-JBoss实例:1 maven pom.xml导入<dependency> <groupId>org.jboss.marshalling</groupId> <artifactId>...原创 2020-09-10 19:54:53 · 422 阅读 · 1 评论 -
Netty- javaserializable 序列化
1新建实体类,这里需要实现 Serializable 接口即可import java.io.Serializable;public class GirlResponse implements Serializable { private static final long serialVersionUID = -2619994978640439932L; private int code; private String msg; public static lo.原创 2020-09-08 17:50:28 · 150 阅读 · 0 评论 -
netty-分隔符和定长解码器的应用
TCP以字节流的方式进行数据传输,上层应用协议为了对消息进行区分,往往采用如下4种方式。消息长度固定:累计读取到固定长度为LENGTH之后就认为读取到了一个完整的消息。然后将计数器复位,重新开始读下一个数据报文。 回车换行符作为消息结束符:在文本协议中应用比较广泛。 将特殊的分隔符作为消息的结束标志,回车换行符就是一种特殊的结束分隔符。 通过在消息头中定义长度字段来标示消息的总长度。netty中针对这四种场景均有对应的解码器作为解决方案。DelimiterBasedFrameDecod.原创 2020-09-08 15:45:07 · 268 阅读 · 0 评论 -
Netty入门实例列子
maven项目Pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven..原创 2020-09-08 11:15:47 · 222 阅读 · 0 评论 -
Netty的核心组件
一 Channel Channel是Java NIO的一个基本构造 Channel看作传入(入站)或者传出(出站)数据的载体 也可以是打开或关闭 ,连接或者断开连接 二回调 一个回调其实就是一个方法,一个指向已经被提供给另外一个方法的方法引用Netty在内部使用回调处理事件三 Future提供了另一种在操作完成时通知应用程序的方式。这个对象可以看作是一个异步操作的结果的占位符;它将在末来的某个时刻完成,并提供...原创 2020-09-02 16:36:35 · 111 阅读 · 0 评论 -
Netty异步和事件驱动
Netty简介 netty是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端。原创 2020-08-28 09:16:41 · 173 阅读 · 0 评论