Netty
石硕页
不滞于物,草木竹石均可为剑
展开
-
关于零拷贝的一点认识
零拷贝,从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能。我们也经常在 Java NIO,Netty,Kafka,RocketMQ 等框架中听到零拷贝,它经常作为其提升性能的一大亮点下面从 I/O 的几个概念开始,进而再分析零拷贝。I/O 概念缓冲区缓冲区是所有 I/O 的基础,I/O 讲的无非就是把数据移进或移出缓冲区;进程执行 I/O 操作,就是向操作系统发出请求,让它要么把缓冲区的数据排干(写),要么填充缓冲区(读)。下面看一个 Java 进程发...转载 2020-10-21 17:30:30 · 166 阅读 · 0 评论 -
利用Netty解析物联网自定义协议
转自:物联网架构成长之路(35)-利用netty解析物联网自定义协议转载 2021-06-23 14:30:42 · 663 阅读 · 0 评论 -
Netty 实现http请求 并响应
什么是Netty?Netty 是一个利用Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的API 的客户端/服务器 框架。Netty 与 TomcatNetty与tomcat 最大的区别在于通信协议。Tomcat 是基于Http 协议的,它的实质是一个基于Http协议的web 容器。但是Netty 不一样,它能通过编程自定义各种协议,因为netty能够通过codec...转载 2019-08-27 12:29:21 · 7114 阅读 · 1 评论 -
Netty源码分析之一次请求是如何到达channelRead的?
使用java nio做网络编程大致流程如下这个流程有哪些可以优化的空间?Netty是对java网络框架的包装,它本身肯定也会有类似的处理流程。必定在这个方面做了自己的优化处理获得Selector使用Netty的时候都会用到对应的EventLoopGroup,它实际上就完成了Selector 的初始化过程。Netty自定义了SelectionKey 的集合,做了...转载 2019-08-22 21:42:18 · 3417 阅读 · 0 评论 -
https netty-socketio 连接时提示 net::ERR_CERT_COMMON_NAME_INVALID
背景:项目采用 springboot + vue 实现大屏功能。后端使用netty 主动向web 页面推送实时消息,前端采用vue-socketio。问题描述:使用http 连接时能正常连接成功http://ip:9092/socket.io/?clientId=U4LKRO2H7DZJXCXR&EIO=3&transport=polling&t=MnG...原创 2019-08-02 11:08:13 · 2112 阅读 · 0 评论 -
Netty对http 协议解析原理解析(超级推荐)
目录1 http协议1.1 描述1.2 请求包1.3 响应包2chunked介绍2.1 背景2.2 Content-Length描述2.3 chunked描述2.4 truncked协议2.5 优点2.6缺点3 压缩 3.1 背景3.2 压缩类型3.3 tomcat实现3.4 优点3.5 缺点4 keepalive...转载 2019-07-18 11:05:26 · 2811 阅读 · 0 评论 -
Netty 中的IdleStateHandler类详解及超时重连机制
参考:Netty实现超时检测及重连机制原创 2019-07-18 10:51:33 · 1718 阅读 · 0 评论 -
对于 Netty ByteBuf 的零拷贝(Zero Copy) 的理解
根据 Wiki 对 Zero-copy 的定义:"Zero-copy" describes computer operations in which the CPU does not perform the task of copying data from one memory area to another. This is frequently used to save CPU c...转载 2019-07-18 10:41:54 · 174 阅读 · 0 评论 -
如何理解netty的ChannelFuture 类
目录一、java.util.concurrent.Future二、java.util.concurrent.FutureTask三、io.netty.util.concurrent.Future四、io.netty.channel.ChannelFuture我们先看下netty 中ChannelHandler 类的diagrams可以看到它最顶层是继承的jdk 的Fut...原创 2019-07-15 15:53:41 · 8146 阅读 · 1 评论 -
java.lang.NoSuchMethodError: io.netty.util.internal.PlatformDependent.allocateUninitializedArray(I)[
FullHttpRequest request = new DefaultFullHttpRequest( HttpVersion.HTTP_1_1, HttpMethod.GET, url.toASCIIString()); request.headers() .s...原创 2019-06-28 09:51:24 · 6374 阅读 · 1 评论 -
Netty 基本组件
NioEventLoop:当做是netty 发动机,起了2种线程,一个用来处理客户端监听,一个处理客户端的读写Channel:通道,就是对Socket的封装Pipeline:管道,是ChannelHandler 的集合。逻辑处理的链。ChannelHandler:通道里面的业务处理ByteBuf:最基本的数据单位netty里面的内存规格...原创 2019-07-01 14:29:53 · 261 阅读 · 0 评论 -
设计一个百万级的消息推送系统
先简单说下本次的主题,由于我最近做的是物联网相关的开发工作,其中就不免会遇到和设备的交互。最主要的工作就是要有一个系统来支持设备的接入、向设备推送消息;同时还得满足大量设备接入的需求。所以本次分享的内容不但可以满足物联网领域同时还支持以下场景:基于WEB的聊天系统(点对点、群聊)。 WEB应用中需求服务端推送的场景。 基于 SDK 的消息推送平台。一、技术选型要满...转载 2019-04-15 20:27:51 · 289 阅读 · 0 评论