E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
netty学习
Netty学习
笔记(四)——实现dubbo的rpc
1、rpc基本介绍RPC(RemoteProcedureCall)-远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,两个或多个应用程序分布不同的服务器上,而他们之间的调用就像调用本地方法一样常见的RPC框架有:比较知名的如阿里的Dubbo、google的gRPC、Go语言的rpex、Apache的thrift,Spring的SpringCloud。2、
闻窗
·
2019-12-04 11:00
Netty学习
——Apache Thrift 简介和下载安装
Netty学习
——ApacheThrift简介和下载安装ApacheThrift简介本来由Facebook开发,捐献给了Apache,成了Apache的一个重要项目可伸缩的,跨语言的服务开发,他将融合了软件栈和代码生成引擎
dawa大娃bigbaby
·
2019-12-04 11:00
Netty学习
——Netty和Protobuf的整合(二)
Netty学习
——Netty和Protobuf的整合(二)这程序是有瑕疵的,解码器那里不通用,耦合性太强,有两个很明显的问题,但是要怎么解决呢?
dawa大娃bigbaby
·
2019-12-04 10:00
Netty学习
——Netty和Protobuf的整合(一)
Netty学习
——Netty和Protobuf的整合Protobuf作为序列化的工具,将序列化后的数据,通过Netty来进行在网络上的传输1.将proto文件里的java包的位置修改一下,然后再执行一下
dawa大娃bigbaby
·
2019-12-03 18:00
Netty学习
——protoc的新手使用流程
Netty学习
——protoc的新手使用流程关于学习的内容笔记,记下来的东西等于又过了一次脑子,记录的更深刻一些。
dawa大娃bigbaby
·
2019-12-03 12:00
Netty学习
——Google Protobuf的初步了解
学习参考的官网:https://developers.google.com/protocol-buffers/docs/javatutorial简单指南详解:这个文档写的简直是太详细了。本篇从下面三个步骤进行介绍:I.Definemessageformatsina.protofile.II.Usetheprotocolbuffercompiler.III.UsetheJavaprotocolbuf
dawa大娃bigbaby
·
2019-12-02 18:00
Netty学习
——Google Protobuf使用方式分析和环境搭建
GoogleProtobuf使用方式分析在RPC框架中,GoogleProtobuf是很常用的一个库,和ApacheThrift是同款的用于进行序列化的第三方库。原理都是大同小异,无非就是使用方式的不同。rmi:remotemethodinvocation远程方法调用在A机器,调用B机器上的方法,从使用者的角度,你是感知不到这个调用的,在A上用,就行了。但是实际上是一种夸机器的一种调用。一定是通过
dawa大娃bigbaby
·
2019-12-02 15:00
Netty学习
——通过websocket编程实现基于长连接的双攻的通信
Netty学习
(一)基于长连接的双攻的通信,通过websocket编程实现效果图,客户端和服务器端建立起长连接,客户端发送请求,服务器端响应但是目前缺少心跳,如果两个建立起来的连接,一个断网之后,另外一个是感知不到对方已经断掉的
dawa大娃bigbaby
·
2019-12-02 11:00
Netty学习
——基于netty实现简单的客户端聊天小程序
Netty学习
——基于netty实现简单的客户端聊天小程序效果图,聊天程序展示(TCP编程实现)后端代码:packagecom.dawa.netty.chatexample;importio.netty.bootstrap.ServerBootstrap
dawa大娃bigbaby
·
2019-12-02 11:00
Netty学习
之内置处理器以及编解码器
Netty学习
之内置处理器以及编解码器前言SSL/TLSSSL/TLS是目前广泛使用的加密,位于TCP之上,其他的应用层协议之下,当应用层将数据交给SSL/TLS之后,数据会被进行加密,关于SSL/TLS
颜洛滨
·
2019-12-02 05:50
Netty学习
之ChannelHandler&ChannelPipeline
Netty学习
之ChannelHandler&ChannelPipeline前言ChannelHandlerChannel生命周期ChannelUnregistered,Channel被创建,但是还没有注册到
颜洛滨
·
2019-12-02 00:27
Netty学习
之ByteBuf
Netty学习
之ByteBuf前言在网络中传输的基本单元是字节byte,虽然在NIO中提供了一个ByteBuffer作为字节的容器,不过由于ByteBuffer比较难使用,所以Netty自己实现了一个,
颜洛滨
·
2019-12-01 09:11
Netty学习
之数据传输
Netty学习
之数据传输前言在前面的小节中,我们简略地学习了Netty及Netty的核心组件,在本小节中,我们来学习一个重要但是不太好归类的内容,Netty的数据传输方式。
颜洛滨
·
2019-11-30 04:48
Netty学习
之Bootstrapping
Netty学习
之Bootstrapping前言在前面的内容中,我们基本把Netty的核心组件都学习完了,各个组件的作用及组件之间的关系也基本理清楚了,一个完整的Netty应用基本上也能写出来了,当然,还差最后一步
颜洛滨
·
2019-11-29 16:00
Netty学习
篇⑥--ByteBuf源码分析
什么是ByteBuf?ByteBuf在Netty中充当着非常重要的角色;它是在数据传输中负责装载字节数据的一个容器;其内部结构和数组类似,初始化默认长度为256,默认最大长度为Integer.MAX_VALUE。ByteBuf数据结构**+-------------------+------------------+------------------+*|discardablebytes|rea
荷塘月色0519
·
2019-11-29 16:00
Netty学习
之EventLoop&Threading Model
Netty学习
之EventLoop&ThreadingModel前言在前面我们学习了Netty的众多组件,如ByteBuf、Channel、ChannelHandler、ChannelPipeline等
颜洛滨
·
2019-11-29 08:26
Netty学习
篇⑤--编、解码源码分析
前言学习Netty也有一段时间了,Netty作为一个高性能的异步框架,很多RPC框架也运用到了Netty中的知识,在rpc框架中丰富的数据协议及编解码可以让使用者更加青睐;Netty支持丰富的编解码框架,其本身内部提供的编解码也可以应对各种业务场景;今天主要就是学习下Netty中提供的编、解码类,之前只是简单的使用了下Netty提供的解码类,今天更加深入的研究下Netty中编、解码的源码及部分使用
荷塘月色0519
·
2019-11-20 13:00
Netty学习
篇④-心跳机制及断线重连
心跳检测前言客户端和服务端的连接属于socket连接,也属于长连接,往往会存在客户端在连接了服务端之后就没有任何操作了,但还是占用了一个连接;当越来越多类似的客户端出现就会浪费很多连接,netty中可以通过心跳检测来找出一定程度(自定义规则判断哪些连接是无效链接)的无效链接并断开连接,保存真正活跃的连接。什么叫心跳检测我理解的心跳检测应该是客户端/服务端定时发送一个数据包给服务端/客户端,检测对方
荷塘月色0519
·
2019-11-09 15:00
Netty学习
篇③--整合springboot
经过前面的
netty学习
,大概了解了netty各个组件的概念和作用,开始自己瞎鼓捣netty和我们常用的项目的整合(很简单的整合)项目准备工具:IDEA2017jar包导入:maven项目框架:springboot
荷塘月色0519
·
2019-11-04 09:00
netty学习
2:优雅的关闭
优雅的关闭java的优雅关闭通常通过注册jdk的shutdownHook来实现。Runtime.getRuntime().addShutdownHook(newThread(){@Overridepublicvoidrun(){System.out.println("shutdownstart...");//doyourworkSystem.out.println("shutdownend..."
干了这杯阿帕茶_月下一起做兄贵
·
2019-10-30 16:06
Netty学习
篇②
Channel、ChannelPipeline、ChannelHandlerContent发送数据的不同//channel往回写数据Channelchannel=ctx.channel();channel.writeAndFlush(Unpooled.copiedBuffer(newString("123").toCharArray(),CharsetUtil.UTF_8));//pipeline
荷塘月色0519
·
2019-10-26 13:00
Netty学习
篇①
什么是nettyNetty封装了JDK自带的NIO,运用起来更加简单快速,Netty是一个异步事件驱动的网络应用框架,让开发更加简便Netty相比JDK自带的NIO的优点Netty的api调用简单,JDK编程复杂Netty支持IO模型切换(只需修改部分参数即可)Netty自带拆解包及异常监控,让你更加专注于业务的开发Netty底层采用了Reactor模型,更高效的处理并发自带各种协议栈让你处理任何
荷塘月色0519
·
2019-10-18 18:00
Netty学习
与实战(一)
准备首先了解一下Socket网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力
Harrison
·
2019-10-15 05:30
java
netty
Netty学习
总结
文章目录概述什么是Netty?为什么要使用Netty二不直接使用NIO?API使用使用Netty创建服务端程序一、主体代码二、childHandler三、ActualHandler使用Netty创建客户端程序一、主体代码二、handler三、ActualHandler使用Netty解决粘包问题LineBasedFrameDecoderDelimiterBasedFrameDecoderFixedL
Baymax_D
·
2019-09-09 13:59
Java
Netty学习
总结
文章目录概述什么是Netty?为什么要使用Netty二不直接使用NIO?API使用使用Netty创建服务端程序一、主体代码二、childHandler三、ActualHandler使用Netty创建客户端程序一、主体代码二、handler三、ActualHandler使用Netty解决粘包问题LineBasedFrameDecoderDelimiterBasedFrameDecoderFixedL
Baymax_D
·
2019-09-09 13:59
Java
Netty学习
笔记四:Echo服务和Netty项目的搭建
Netty学习
笔记四:Echo服务和Netty项目的搭建文章目录
Netty学习
笔记四:Echo服务和Netty项目的搭建什么是Echo服务Echo服务端程序编写Echo客户端编写Echo服务中的名词解析什么是
¥诸葛村夫¥
·
2019-09-01 19:58
Netty架构学习笔记
Netty学习
(六)- 基于Netty的私有协议栈开发
0、前言大多公司都会有自己的一套私有协议,可能只在自己公司内部使用的协议。使用Netty实现的私有协议可以用于内部各模块之间的通信,基于TCP/IP协议栈,异步NIO框架,提供高性能、异步化的通信能力。一、Netty私有协议栈1、功能概述使用Netty实现的私有协议栈主要功能有:握手请求:双方发送握手请求和握手应答信息;接入认证机制:设置提供IP地址的白名单接入认证机制,不在白名单内拒绝接入;消息
是Guava不是瓜娃
·
2019-09-01 00:17
Java进阶
Netty学习
(五)- 基于Netty的WebSocket协议栈开发
0、前言HTTP协议作为客户端-服务端之间的通信方式,得到了很多的应用。但是HTTP协议有很多的弊端:半双工:HTTP协议为半双工协议,这意味着客户端、服务端之间同一时刻只能有一端发送数据;消息结构复杂:HTTP协议包含消息头、消息体等内容,消息结构比较复杂和繁琐;长连接机制耗费服务器资源:为了实现实时通信,很多网站都采用长连接的方式,由客户端每隔固定时间(如1s)发送HTTP请求到服务端看服务端
是Guava不是瓜娃
·
2019-08-31 12:57
网络编程
Java进阶
Netty学习
(四)- 基于Netty的HTTP协议栈应用
前言HTTP服务器在我们日常开发中,常见的实现方式就是实现一个JavaWeb项目,基于Nginx+Tomcat的方式就可以提供HTTP服务。但是很多场景是非Web容器的场景,这个时候再使用Tomcat就大材小用了。这个时候就可以使用基于Netty的HTTP协议。那么基于Netty开发的HTTP服务器有什么优势呢?Netty的多线程模型和异步非阻塞特性能够支持高并发;相比于TomcatHTTP,Ne
是Guava不是瓜娃
·
2019-08-30 21:42
Java进阶
Netty学习
笔记三:Netty线程模型和Reactor模式
1.
Netty学习
笔记三:Netty线程模型和Reactor模式文章目录1.
Netty学习
笔记三:Netty线程模型和Reactor模式1.1.Reactor模式1.2.Reactor模型1.2.1.Reactor
¥诸葛村夫¥
·
2019-08-28 13:27
Netty架构学习笔记
netty学习
笔记(二)java之NIO编程
netty学习
java之NIO编程NIO深入分析简介:flip源码:NIO堆外内存与零拷贝内存映射文件文件锁使用传统java的网络通信NIO非阻塞通信选择器Selector重要SelectionKey的
qq_32827043
·
2019-08-12 18:40
RPC
java
netty
NIO
netty学习
笔记 (一) pb,thrift,gRPC
netty学习
笔记之常见RPC框架安装和使用使用protobuf1.1到[protocolbuffers](https://github.com/protocolbuffers/protobuf/releases
qq_32827043
·
2019-08-08 16:29
RPC
java
netty
序列化
Netty学习
(三)- Netty常用解码器原理与应用
一、Netty常用解码器TCP以流的形式传输数据,上层协议为了对消息进行区分,常采用以下4种方式:回车换行符:将回车换行符作为消息结束标志,如FTP协议,这种方式在文本协议中应用较为广泛;特殊分隔符:将特殊分隔符作为消息结束标志,上述的回车换行符就是一种特殊的特殊分隔符;固定消息长度:设置一个定值LEN,当累计读取到长度为LEN的报文后就认为读取了一个完整的消息;将计数器置位重新读取下一个数据报文
是Guava不是瓜娃
·
2019-07-27 00:06
Java进阶
Netty学习
(二)- TCP粘包/拆包
一、TCP粘包/拆包介绍1、什么是粘包、拆包首先只有TCP数据传输才会存在是粘包、拆包现象。假设客户端分别发送两个数据包D1和D2给服务器,由于TCP是面向流的协议,TCP把客户端传过来的数据看成是一连串的无结构的字节流,且服务端一次读取到的数据是不确定的,所以可能会出现下面几种情况。(1)服务端分两次接收到D1和D2数据包,没有发生粘包/拆包。(2)服务端一次接收了两个数据包,D1和D2粘在一起
是Guava不是瓜娃
·
2019-07-27 00:28
Java进阶
Netty
粘包
拆包
netty学习
小结
前言近期碰到网络相关的问题,准备使用netty,于是学习了一番,本文主要记录学习中的一些要点,至于诸多细节的学习,笔者推荐《Netty实战》和“简书闪电侠”的博客。本文参考:《netty实战》简书闪电侠的博客netty简介Netty是一个NIO客户端服务器框架,目前已经有苹果、Facebook等诸多大厂在使用。主要特点:API简单,文档丰富,社区活跃。使用NIO,能用较少的线程实现高并发。简单说下
许佳佳233
·
2019-06-15 17:34
【后端】
Netty学习
前置-反应器(Reactor)模式
目录概览网络服务特性扩展可用需求Divide-and-ConquerReactor模式单线程版NIO重要概念ChannelsBuffersSelectorsSelectionKeysReactor实现Setup创建反应器DispatchLoop调度工作循环Acceptor设计HandlersetupRequesthandling请求处理分析:也不知道对不对多线程(池)设计加入线程池到Handler
二煮茶
·
2019-05-22 16:35
杂谈
Netty学习
2(netty整合protobuf进行数据传输)
1.目标:使用netty整合protobuf进行高效数据传输,包括粘包、半包问题解决。2.为什么使用protobufProtobuf是Google开发的一种平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储。使用protobuf编译器能自动生成代码,但需要编写proto文件。3.生成protobuf消息:项目结构如下:1)首先要下载protobuf工具,下载完毕
warrior_666
·
2019-05-09 11:30
Netty学习
TCP粘包和拆包、编码解码器
在进行
Netty学习
时,发现,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。
安小岩说他很忙
·
2019-04-30 17:50
【Netty】
netty学习
系列二:NIO Reactor模型 & Netty线程模型
转载自:http://www.jianshu.com/p/38b56531565d一、NIOReactor模型1、Reactor模式思想:分而治之+事件驱动1)分而治之一个连接里完整的网络处理过程一般分为accept、read、decode、process、encode、send这几步。Reactor模式将每个步骤映射为一个Task,服务端线程执行的最小逻辑单元不再是一次完整的网络请求,而是Tas
clovemeo
·
2019-04-16 20:53
第三方
netty学习
总结(一)
netty是什么?netty是一个异步的,事件驱动的网络编程框架。netty的技术基础netty是对JavaNIO和Java线程池技术的封装netty解决了什么问题使用JavaIO进行网络编程,一般一个用户一个线程,无法处理海量用户使用JavaNIO进行网络编程,编程复杂性太高,如果没有深厚的NIO网络编程基础,写出的程序可能还不如JavaIO写的程序至于JavaAIO,目前还没有弄清楚其与net
aozeliu
·
2019-04-14 00:00
java
网络编程
netty
Netty学习
笔记二-Netty入门开发
上一节中介绍的javaNIO的开发,回顾下NIO开发的步骤:1、创建ServerSocketChannel并设置为非阻塞模式2、绑定监听端口3、创建多路服务器Selector,将创建的ServerSocketChannel注册到Selector,监听SelectKey.Accept事件4、创建IO线程轮询Selector.select5、如果轮询到就绪的Channel如果是OP_ACCEPT状态说
无聪帅
·
2019-03-17 23:00
张龙
netty学习
笔记 P4 P5 P6
比较gradle和mavengradle配置文件基于groovy语言,面向编程语言。maven配置文件基于xml语言老师建议我们下载安装好gradle,且创建项目时用本地的gradle(不用默认的)。netty的应用场景netty可以应用于各种协议:netty可用作rpc的通信框架netty可用作长连接的服务器(webSocket)netty也可作为http的服务器webSocket中:客户端与服
不存在的里皮
·
2019-03-16 20:40
基于Netty的RPC架构学习笔记(七):
netty学习
之心跳
文章目录idleStateHandlernetty3netty5总结idleStateHandlerNetty提供的检测会话状态的工具。netty3Server.javapackagecom.heart;importjava.net.InetSocketAddress;importjava.util.concurrent.ExecutorService;importjava.util.concur
Leesin Dong
·
2019-03-07 08:21
#
JAVA
------
Netty
Netty学习
--编解码器框架
什么是编解码器如果将消息看作是对于特定的应用程序具有具体含义的结构化的字节序列—它的数据。那么编码器是将消息转换为适合于传输的格式(最有可能的就是字节流);而对应的解码器则是将网络字节流转换回应用程序的消息格式。因此,编码器操作出站数据,而解码器处理入站数据。解码器Netty涵盖两种类:1.将字节解码为消息——ByteToMessageDecoder和ReplayingDecoder;2.将一种消
何何与呵呵呵
·
2019-01-25 18:26
Netty学习
--预置的ChannelHandler和编解码器
通过SSL/TLS保护Netty应用程序Netty通过一个名为SslHandler的ChannelHandler实现利用javax.net.ssl下的SSLContext和SSLEngine的api,其中SslHandler在内部使用SSLEngine来完成实际的工作。通过SslHandler进行解密和加密的数据流publicclassSslChannelInitializerextendsCha
何何与呵呵呵
·
2019-01-25 18:24
netty系列(0)----非常浅薄的初探或者叫读书笔记
://segmentfault.com/a/1190000014969780下面这个链接也给我很大帮助https://www.iteye.com/magazines/132-Java-NIO#579]
netty
粟谷_sugu
·
2019-01-09 01:00
Netty学习
:ChannelPipeline
一个{@linkChannelHandler}的列表,它处理或拦截{@linkChannel}的入站事件和出站操作。创建管道每个通道都有自己的管道,在创建新通道时自动创建管道。事件如何在管道中流动下图描述了在{@linkChannelPipeline}中{@linkChannelHandler}s如何处理I/O事件。I/O事件由{@linkChannelInboundHandler}或{@link
any11
·
2018-12-11 10:31
Netty
Netty学习
:ChannelHandlerContext及基实现类AbstractChannelHandlerContext
ChannelHandlerContext允许{@linkChannelHandler}与其{@linkChannelPipeline}和其他处理程序交互。处理程序可以通知{@linkChannelPipeline}中的下一个{@linkChannelHandler},还可以动态修改它所属的{@linkChannelPipeline}。通知通过调用这里提供的各种方法之一,您可以在同一个{@link
any11
·
2018-12-10 20:16
Netty
Netty学习
:ChannelOutboundInvoker
ChannelFuturebind(SocketAddresslocalAddress);请求绑定到给定的{@linkSocketAddress},并在操作完成后通知{@linkChannelFuture},原因可能是操作成功,也可能是错误。这将导致{@linkChannel}的{@linkChannelPipeline}中的下一个{@linkChannelOutboundHandler}的{@l
any11
·
2018-12-10 20:24
Netty
Netty学习
:ChannelInboundInvoker
ChannelInboundInvokerfireChannelRegistered();一个{@linkChannel}注册到它的{@linkEventLoop}。这将导致{@linkChannelInboundHandler#channelRegistered(ChannelHandlerContext)}方法被调用,该方法调用的下一个{@linkChannelInboundHandler}包
any11
·
2018-12-10 19:18
Netty
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他