
netty学习
zxh87
这个作者很懒,什么都没留下…
展开
-
Netty线程模型及EventLoop和EventLoopGroup源码解析
1、netty线程模型原创 2017-06-19 15:29:20 · 9382 阅读 · 0 评论 -
linux io模型讲解
网络应用需要处理的无非两大类问题,网络io,数据计算。相对于后者,网络i/o的延迟,给应用带来的性能瓶颈大于后者。网络i/o模型大致有如下几种: 同步模型 (synchronous i/o) 阻塞i/o(blocking i/o) 非阻塞io(non-blocking i/o) 多路复用io (mulitplexing i/o) 信号驱动方式i/o (signal-drivern原创 2017-06-08 16:42:58 · 336 阅读 · 0 评论 -
nio编
NIO,有人称为New IO这是相对于之前传统io的叫法。但是与之前传统的相比,New IO类库的目标是让java支持非阻塞IO,因此是指非阻塞IO。 NIO类库的简介 1、缓冲区buffer 在nio库中,所有的数据都是用缓冲去咧,在读取数据的时候,它是直接读到缓冲区中的;在写入数据的时候,写入到缓冲区中。任何时候访问NIO中的数据,都是通过缓冲区进行操作的。原创 2017-06-09 15:43:34 · 308 阅读 · 0 评论 -
netty中的粘包和拆包问题处理
1、tcp粘包和拆包问题说明 2、tcp粘包和拆包发生的原因 3、粘包问题的解决策略原创 2017-06-12 10:51:53 · 1187 阅读 · 0 评论 -
Netty入门应用一
在本例子中使用的是netty5,以及后面的例子中也是。先去官网进下载5.0.0.Alphal,解压后要引用的jar包就是netty-5.0.0.Alphal.jar包。对于用netty进行编写TimeServer的nio程序如下: package zou; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Ch原创 2017-06-11 22:53:28 · 364 阅读 · 0 评论 -
netty分割符和定长解码器的应用
tcp以流的方式进行数据传输,上层的应用协议为了对消息进行区分,往往采用如下4种方式: 1、消息固定长度,累计读取到长度一定的报文段后,就读取下一个报文段。 2、将回车换行符做为消息结束符,例如ftp协议,这种方式在文本协议中应用比较广泛。 3、将特殊的分割符作为消息结束标志,回车换行就是一种特殊的结束分隔符; 4、通过在消息头中定义长度字段来标识消原创 2017-06-12 13:47:36 · 623 阅读 · 0 评论 -
Netty使用google protobuf进行编解码
1、编解码技术 基于java提供的对象输入\输出流ObjectInputStream和ObjectOutputStream,可以直接把java对象作为存储的字节数组写入文件,也可以传输到网络上。基于Jdk的默认序列化机制可以避免操作底层数组,从而提升开发效率。 java序列化的目的主要有两个: 网络传输 对象持久化。 基于netty的nio网络开发,主要原创 2017-06-12 14:37:15 · 622 阅读 · 0 评论 -
netty实现webSocket协议
1、http协议现状 一直以来http协议一直都是请求/响应的模式,如果服务器有新的数据变化要推送给客户单,此时需要客户端发送一个请求由服务器进行响应。要想实现服务端立即推送到客户端,可以使用轮训的机制或Comet,但这里有一个共同的问题是:由于http协议的开销,导致他们不适用于低延迟。 http协议弊端如下: http为半双工模式,不原创 2017-06-13 16:38:40 · 879 阅读 · 0 评论