
netty
文章平均质量分 77
SAN_YUN
这个作者很懒,什么都没留下…
展开
-
netty初探
netty API//启动类 ServerBootstrap bootstrap = new ServerBootstrap( NioServerSocketChannelFactory(new Executors.newCachedThreadPool()),Executors.newCachedThreadPool());//关键的部分,Set up th...原创 2011-05-24 15:56:13 · 127 阅读 · 0 评论 -
netty文档集合
Netty 3.1 中文用户手册(一)-序言Netty 3.1 中文用户手册(二)-开始Netty 3.1 中文用户手册(三)-架构总览netty 使用注意事项原创 2013-02-10 13:17:02 · 135 阅读 · 0 评论 -
TransferQueue
在看netty的代码实现发现了TransferQueue,发现在jdk7已经加入。 在jdk7里的实现是LinkedTransferQueue。它实现了BlockingQueue的接口,并且提供了类似SynchronizeQueue的功能。由于采用了CAS的方式对线程进行同步,减少了锁的开销,性能相对与其他的队列实现有了很大的提升。其内部的实现是一个FiFo的Dual Quque。很多开...原创 2013-02-08 14:55:09 · 248 阅读 · 0 评论 -
Netty服务器线程模型概览
一切从ServerBootstrap开始ServerBootstrap 负责初始话netty服务器,并且开始监听端口的socket请求。bootstrap bootstrap = new ServerBootstrap( new NioServerSocketChannelFactory( Executors.newCachedThreadPool(),//boss线程池 ...原创 2012-10-08 16:57:18 · 381 阅读 · 0 评论 -
netty源代码分析
这篇文章(http://san-yun.iteye.com/blog/1689608)分析了部分netty代码,下面我对netty的核心类做了记录: DefaultChannelPipeline public void sendUpstream(ChannelEvent e); public void sendDownstream(ChannelEvent e){ ...原创 2012-10-08 16:35:24 · 193 阅读 · 0 评论 -
netty ExecutionHandler
前面(http://san-yun.iteye.com/blog/1693598)提到netty通过ChannelFuture来提供异步IO,但我实际测试中发现并不是总是这样的,需要ChannelPipelineFactory中指定ExecutionHandler。测试代码: @ChannelPipelineCoverage("all")public class DiscardServ...原创 2012-10-08 16:34:04 · 239 阅读 · 0 评论 -
netty ChannelFuture
在Netty中所有的io操作都是异步的,这也就是意味任何io访问,那么就立即返回处理,并且不能确保返回的数据全部完成。因此就出现了channelFuture,channelFuture在传输数据时候包括数据和状态两个部分。他只有Uncompleted和Completed, 既然netty io是异步的,那么如何知道channel传送完成有两种方式,一种添加监听器addListener(Ch...原创 2012-10-08 14:12:43 · 167 阅读 · 0 评论 -
netty的一点学习笔记
原文:http://macrochen.iteye.com/blog/1608383主要参考在这篇文章, 写的非常好.netty主要是一个异步的nio server/client framework它采用了event driven模式netty主要针对异步(asynchronous)请求的处理netty channel可以理解为传输请求的...原创 2012-10-02 22:57:47 · 118 阅读 · 0 评论 -
Netty实现原理浅析
Netty是JBoss出品的高效的Java NIO开发框架,关于其使用,可参考我的另一篇文章 netty使用初步。本文将主要分析Netty实现方面的东西,由于精力有限,本人并没有对其源码做了极细致的研 究。如果下面的内容有错误或不严谨的地方,也请指正和谅解。对于Netty使用者来说,Netty提供了几个典型的example,并有详尽的API doc和guide doc,本文的一...原创 2012-09-29 15:47:46 · 112 阅读 · 0 评论 -
Netty代码分析
参考:http://rdc.taobao.com/team/jm/archives/423Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序[官方定义],整体来看其包含了以下内容:1.提供了丰富的协议编解码支持,2.实现自有的buffer系统,减少复制所带来的消耗,3.整套channel的实现,4.基于事件的过程流转以及完整...原创 2012-09-29 13:22:40 · 123 阅读 · 0 评论 -
ChannelBuffer介绍介绍
A random and sequential accessible sequence of zero or more bytes (octets). This interface provides an abstract view for one or more primitive byte arrays (byte[]) and NIO buffers.Crea...原创 2012-11-07 11:28:21 · 337 阅读 · 0 评论 -
FrameDecoder介绍
FrameDecoder 负责 decodes the received ChannelBuffer s into a meaningful frame object.In a stream-based transport such as TCP/IP, packets can be fragmented and reassembled during transmi...原创 2012-11-05 18:26:46 · 286 阅读 · 0 评论 -
netty简单介绍
ServerBootstrap 启动netty只需要三行代码:package com.duitang.test;import java.net.InetSocketAddress;import java.util.concurrent.Executors;import org.jboss.netty.bootstrap.ServerBootstrap;...原创 2012-11-03 20:05:25 · 170 阅读 · 0 评论 -
Netty笔记ReplayingDecoder
为什么需要ReplayingDecoder,它和FrameDecoder有什么不同呢?ReplayingDecoder是一种特殊 FrameDecoder,它能实现在IO阻塞的情况下实现无阻塞的解码。听起来比较拗口而且不好理解,举个例子来说,假设你在用netty设计一个文件 传输的模块,采用的Header-Content的协议,在Header中说明文件的长度,我们用一个int来容纳长度,Cont...原创 2013-03-15 11:39:28 · 154 阅读 · 0 评论 -
netty StringDecoderTester
netty package com.duitang.test;import java.net.InetSocketAddress;import java.util.concurrent.Executors;import org.jboss.netty.bootstrap.ServerBootstrap;import org.jboss.netty.buffe...原创 2013-02-21 16:55:04 · 464 阅读 · 0 评论