
netty学习
文章平均质量分 81
bestone0213
这个作者很懒,什么都没留下…
展开
-
如何使用 Netty 下载文件
使用场景:客户端向Netty请求一个文件,Netty服务端下载指定位置文件到客户端。本实例使用的是Http协议,当然,可以通过简单的修改即可换成TCP协议。需要注意本实例的关键点是,为了更高效的传输大数据,实例中用到了ChunkedWriteHandler编码器,它提供了以zero-memory-copy方式写文件。第一步:先写一个HttpFileServer转载 2015-07-28 17:52:44 · 1709 阅读 · 0 评论 -
netty传输大文件实例
最近又开始需要使用netty进行网络通信方面的编程开发了。于是遇到了一些问题通过查找好多资料记录下来。做的内容大致是:客户端向服务端发送一条命令,服务端接收到之后,根据命令里面的一些信息去读取服务器上的一些文件并把文件内容(文件的内容类似于数据库中的一行一行的数据,是以行存储的,每个字段值以\t分割,每条数据为一行)发送给客户端处理(我这里的样例暂以获取数据之后按行保存入文件中)。1、客户转载 2015-07-29 15:00:51 · 9717 阅读 · 1 评论 -
Netty实例2——外加聊天实力
Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 如果需要客户端和服务器端沟通 分别都需要编写一个 实现了SimpleChannelHandler接口的类,其中类中需要重写的主要方法为 channelConnected() and channelOpen()转载 2015-07-29 13:40:45 · 880 阅读 · 0 评论 -
netty处理粘包问题——1
我们知道通过TCP协议发送接收数据时,如果数据过大,接收到的数据会是分包的,比如: +-----+-----+-----+ 发送数据是: | ABC | DEF | GHI | +-----+-----+-----+ 而我们转载 2015-07-28 17:20:35 · 4048 阅读 · 0 评论 -
Netty中execution包功能详解
Netty中关于多线程处理的代码很多(netty框架的实现本身就是异步处理机制),此文档仅针对于execution包的功能做详细解说。以下是整个包的目录结构: 包中的调用关系如下图所示:实现方案 参考源码包以下是对此包中的源码的分析(请注意后四个类为此包中最重要的类)ChannelEventR转载 2015-07-29 17:07:50 · 2220 阅读 · 0 评论 -
Netty百万级推送服务设计要点
原文:http://www.infoq.com/cn/articles/netty-million-level-push-service-design-points1. 背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:转载 2015-07-29 13:56:12 · 622 阅读 · 0 评论 -
Netty中对象序列化传输机制研究分析
1. 技术点描述http://blog.163.com/linfenliang@126/blog/static/127857195201210742441234?suggestedreading本文档主要说明如何利用netty进行对象传输2. 实现方案前提条件:对象须实现序列化。基本思想:借助netty自带的ObjectDecoder和Obj转载 2015-07-29 17:02:48 · 1563 阅读 · 0 评论 -
Netty的元素设计
读完这一章,我们基本上可以了解到Netty所有重要的组件,对Netty有一个全面的认识,这对下一步深入学习Netty是十分重要的,而学完这一章,我们其实已经可以用Netty解决一些常规的问题了。一、先纵览一下Netty,看看Netty都有哪些组件? 为了更好的理解和进一步深入Netty,我们先总体认识一下Netty用到的组件及它们在整个Netty架构转载 2015-07-28 17:12:44 · 419 阅读 · 0 评论 -
netty处理粘包问题——2
TCP网络通信时候会发生粘包/拆包的问题,接下来探讨其解决之道。什么是粘包/拆包一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消息数据,所以就会引发一次接收的数据无法满足消息的需要,导致粘包的存在。处理粘包的唯一方法就是制定应用层的数据通讯协议,通过转载 2015-07-28 17:38:19 · 1122 阅读 · 0 评论 -
netty小例子
使用Netty传输POJO对象,重点在于对象的序列化,序列化后的对象可以通过TCP流进行网络传输,结合Netty提供的对象编解码器,可以做到远程传输对象。下面我们来看一个例子:模拟订票首先Java序列化的POJO对象需要实现java.io.Serializable接口。说明:还有很多种序列化的方式要比JDK自带的序列化要好 体积小利于保存和传输 例如google的proto转载 2015-07-28 14:48:57 · 686 阅读 · 0 评论 -
netty开发一个程序。
既然是入门,那我们就在这里写一个简单的Demo,客户端发送一个字符串到服务器端,服务器端接收字符串后再发送回客户端。2.1、配置开发环境1.安装JDK2.去官网下载jar包(或者通过pom构建)2.2、认识下Netty的Client和Server 一个Netty应用模型,如下图所示,但需要明白一点的是,我们写的Server会自动处理多客户转载 2015-07-28 17:57:10 · 993 阅读 · 0 评论 -
netty处理粘包问题用特殊字符分割——3
TCP网络通信时候会发生粘包/拆包的问题,上节使用定长解码器解码,本次使用Netty提供的特殊分隔符解码器还是用上节中的代码例子,但是只需要修改一下发送的消息和配置一下解码器就可以了客户端发送消息中添加分隔符做为指令的结束符,模拟多条指令粘包发出服务器配置分隔符解码器使用&符号拆包运行结果:服务器使用分隔符解码器成功拆转载 2015-07-28 17:39:02 · 2555 阅读 · 0 评论 -
Netty实用小程序。
1.新建NettyTest工程工程结构如图所示:2.各个类: ClientPipelineFactory.java public class ClientPipelineFactory implements ChannelPipelineFactory { @Override public Cha转载 2015-07-30 11:56:42 · 776 阅读 · 0 评论