关闭

Netty学习(转载)

http://blog.csdn.net/linuu/article/details/51306480 http://blog.csdn.net/zxhoo/article/details/17964353...
阅读(272) 评论(0)

一起学Netty(十四)之 Netty生产级的心跳和重连机制

sigh,写这篇博客的时候老脸还是红了一下,心里还是有些唏嘘的,应该算是剽窃吧,每个人的代码功力的确是有差距的,好在文章的标题是“一起学”,而不是开涛大神的“跟我学”系列的文章,我们还是多花点时间学习吧,感叹无用~ 最近工作比较忙,但闲暇之余还是看了阿里的冯家春(fengjiachun)的github上的开源代码Jupiter,写的RPC框架让我感叹人外有人,废话不多说,下面的代...
阅读(678) 评论(1)

一起学Netty(十三)之 Netty简单的重连机制

其实重连机制并不是多么多高深的技术,其实就是一个在客户端做一个简单的判断,如果连接断了,那么就重新调用连接服务端的代码 当然,我们重连的动作肯定是发生在断连之后发生的,我们可以在上篇的心跳机制的基础上,简单地修改一下客户端的启动代码就可以了: 我们在连接断了之后,我们一般会在finally的方法中去释放资源,这边我们应该不去释放资源,我们在finally里面进行...
阅读(931) 评论(0)

一起学Netty(十二)之 Netty心跳简单Demo

前面简单地了解了一下IdleStateHandler,我们现在写一个简单的心跳demo: 1)服务器端每隔5秒检测服务器端的读超时,如果5秒没有接受到客户端的写请求,也就说服务器端5秒没有收到读事件,则视为一次超时 2)如果超时二次则说明连接处于不活跃的状态,关闭ServerChannel 3)客户端每隔4秒发送一些写请求,这个请求相当于一次心跳包,告之服务器端:客户端仍旧活着 ...
阅读(611) 评论(0)

一起学Netty(十一)之 Netty心跳之IdleStateHandler

Netty提供了对心跳机制的天然支持,心跳可以检测远程端是否存活,或者活跃 今天我们就一起初识一下Netty4的心跳机制 Netty4.0提供了一个类,名为IdleStateHandler,这个类可以对三种类型的心跳检测 这个类的构造参数是这样的: 前三个的参数解释如下: 1)readerIdleTime:为读超时时间(...
阅读(711) 评论(0)

一起学Netty(十)之 Netty使用Google的ProtoBuf

protobuf是由Google开发的一套对数据结构进行序列化的方法,可用做通信协议,数据存储格式,等等。其特点是不限语言、不限平台、扩展性强 Netty也提供了对Protobuf的天然支持,我们今天就写一个简单的示例,简单地了解一下Netty对Google的protoBuf的支持 我们的示例场景很简单的:客户端发送一个信息,这个信息用Protobuf来做序列化...
阅读(424) 评论(0)

一起学Netty(九)之LengthFieldBasedFrameDecoder

之前介绍了Netty天然的几种解析器,也稍微介绍了一下ByteToMessageDecoder类,我们对Netty的解码器还是有了一定的了解~ 今天要介绍的是Netty中一个很重要的解码器,因为相比于其他的普通的解码器,这个解码器用的场景更多,并不是说其他解码器不重要,只是因为我们业务场景所致 在当今比较流行的水平拆分的架构之下,RPC协议很是流行,这样可以使各...
阅读(582) 评论(0)

一起学Netty(八)之 浅析ByteToMessageDecoder

上一节一起学习了几个解码器,用于解决TCP协议网络传输过程中粘包和拆包的问题,用过Netty的人总会说一句话“用Netty一定要了解一下它的底层原理,这样才敢用”,其实很有感悟,Netty in action 这本书中也有一个章节分析了codec,也定义了几个自定义的译码器,但是它自定义的几个译码器全部是继承与ByteToMessageDecoder的,我们上文中的几个解码器例如Delimiter...
阅读(574) 评论(0)

一起学Netty(七)之 TCP粘包拆包基本解决方案

上个小节我们浅析了在Netty的使用的时候TCP的粘包和拆包的现象,Netty对此问题提供了相对比较丰富的解决方案 Netty提供了几个常用的解码器,帮助我们解决这些问题,其实上述的粘包和拆包的问题,归根结底的解决方案就是发送端给远程端一个标记,告诉远程端,每个信息的结束标志是什么,这样,远程端获取到数据后,根据跟发送端约束的标志,将接收的信息分切或者合并成我们需要的信息,这样我...
阅读(392) 评论(0)

一起学Netty(六)之 TCP粘包拆包场景

TCP编程底层都有粘包和拆包机制,因为我们在C/S这种传输模型下,以TCP协议传输的时候,在网络中的byte其实就像是河水,TCP就像一个搬运工,将这流水从一端转送到另一端,这时又分两种情况: 1)如果客户端的每次制造的水比较多,也就是我们常说的客户端给的包比较大,TCP这个搬运工就会分多次去搬运。 2)如果客户端每次制造的水比较少的话,TCP可能会等客户端多次生产之后,把所有的水一起...
阅读(371) 评论(0)

一起学Netty(五)之 初识ByteBuf和ByteBuf的常用API

网络传输的载体是byte,这是任何框架谁也逃脱不了的一种规定,Java的NIO提供了ByteBuffer,用来完成这项任务,当然ByteBuffer也很好的完成了这个任务,Netty也提供了一个名字很相似的载体叫做ByteBuf,相比于ByteBuf而言,它有着更加更多友善的API,也更加易于维护,并且它可以扩容 一般来说,ByteBuf都是维护一个byte数组的,它...
阅读(1073) 评论(0)

一起学Netty(四)之 ChannelHandler,ChannelHandlerContext,ChannelPipeline

本小节一起学习一下ChannelHandler,ChannelHandlerContext,ChannelPipeline这三个Netty常用的组件,不探究它们的底层源码,我们就简单的分析一下用法 首先先分析一下ChannelHandler,ChannelHandler是我们日常开发中使用最多的组件了,大概我们平时写的最多的组件就是Handler了,继承图如下 ...
阅读(1227) 评论(0)

一起学Netty(三)之 SimpleChannelInboundHandler

其实Netty的知识点还是很零碎的,比如这个SimpleChannelInboundHandler这个类,在《Netty in Action》该书中的原版的Hello world的demo的客户端就是使用的SimpleChannelInboundHandler来作为处理器的,我本来也是使用这个类作为我处理类的,但是做一个新手,这个类还是让我走了一点弯路,我们可以看到SimpleChannelInb...
阅读(777) 评论(0)

一起学Netty(二)之 Hello Netty的原型图解

上一个小节,写的一个入门的Hello Netty的案例,它的模型其实很简单,我们画个简单的图理解一下 [java] view plain copy package com.lyncc.netty.concept;      /**   *    * @author Bazingalyncc   * 描述:   * 时间  2016年4...
阅读(468) 评论(0)

一起学Netty(一)之 Hello Netty

案例说明:客户端发送一个信息到服务器端,服务器端将信息原样返回 maven的依赖,我们如下: [html] view plain copy dependencies>       dependency>         groupId>junitgroupId>         artifactId>junitartifa...
阅读(480) 评论(0)
50条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:6996196次
    • 积分:61371
    • 等级:
    • 排名:第34名
    • 原创:250篇
    • 转载:2617篇
    • 译文:3篇
    • 评论:663条
    文章分类
    最新评论