
Netty
文章平均质量分 86
liuchangqing123
这个作者很懒,什么都没留下…
展开
-
Netty系列-NIO入门
Netty封装了java的NIO实现了非阻塞NIO网络通信,大大提高了效率。为了更好的理解Netty中NIO的使用,还是需要对java的NIO回顾一下。从普通的socket网络通信到使用NIO的方式实现,还是有很大差别的。最关键的区别是处理IO的线程是否是阻塞的,在下面的分析中就可以看得出来。1)同步阻塞式的网络通信2)伪异步IO3)NIO实现以下的程序演示的是原创 2016-12-04 23:48:59 · 546 阅读 · 0 评论 -
Netty系列-简单示例
还是实现发送命令到服务端获取时间的功能,这里是Netty实现。对比之前的java nio实现的方式,Netty封装的还是非常简洁。同时单纯的对比Netty的Server和Client也能看出有许多相似之处。原创 2016-12-05 23:36:08 · 711 阅读 · 0 评论 -
Netty系列-TCP粘包拆包问题
还是之前的Netty输出服务端时间的例子,没有考虑TCP粘包拆包问题。LineBasedFrameDecoder和StringDecoder,这两个解码器就能解决粘包问题。原创 2016-12-08 23:29:32 · 657 阅读 · 0 评论 -
Netty系列-使用Google Protobuf编解码
什么是编解码通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。反之,解码(Decode)/反序列化(deserialization)把从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑操作。进行远程跨进程服务调用时(例如RPC调用),需要使用特定的编原创 2016-12-12 23:54:58 · 3627 阅读 · 0 评论 -
Netty系列-服务器端启动源码分析
之前写了几个Netty实现服务端和客户端交互的例子,现在通过分析源码看一下服务器端和客户端启动的整个流程。1.先看下服务器端启动的流程,如之前显示服务器时间的程序package com.netty.server;import io.netty.bootstrap.ServerBootstrap;import io.netty.buffer.ByteBuf;import io.nett原创 2016-12-18 11:31:11 · 687 阅读 · 0 评论 -
Netty系列-客户端启动源码分析
客户端的示例代码package com.netty.server;import io.netty.bootstrap.Bootstrap;import io.netty.buffer.ByteBuf;import io.netty.buffer.Unpooled;import io.netty.channel.*;import io.netty.channel.nio.NioEve原创 2016-12-18 22:55:38 · 710 阅读 · 0 评论