Netty学习笔记
收藏

通过分析源码学习Netty,学习基于NIO的高性能网络框架的设计。以分析源码为切入点,深入了解框架的设计细节

分享到: Sina Tec

最近更新文章

Netty的Nio写优化

  今天又看了一遍boyan的《Nip trick and trip》,又有一些新的收获。比以前看地更深刻了。其中有一处写到Nio的写优化,当Nio的channel设置为nonblocking时,写 ...
 
xiaoZ5919 评论(1) 有6510人浏览 2013-07-12 16:26

基于Netty打造HttpClient实现股票实时推送

   Netty也研究了一段时间,实践是对知识掌握的试金石。有些东西只是看了面儿上的东西我觉得懂了,如不去深入,一旦要用它去做点什么东西却又觉 ...
xiaoZ5919 评论(8) 有21831人浏览 2013-01-11 18:21

基于Netty实现CometStreaming方式的聊天室

       这段时间在研究web服务器消息推送,除了html5的websocket,comet是一项很好的方案。comet不是一项专门的技术,更像是一个解决方案。说来也简单,服务端需要能把connection hold,浏览器也需要特殊的支持保持从服务端获取数据,幸好用xmlhttprequest,ajax的实现也是靠它。comet一般有两种方式long poll和streaming。长轮询是cl ...
xiaoZ5919 评论(12) 有11624人浏览 2013-01-06 17:18

Netty笔记:ReplayingDecoder中buffer使用的一点小陷阱

   ReplayingDecoder的原理是阻塞IO,当没有读到足够的数据时,会抛出RelayError,进入以后的LOOP中不断check是否有足够的数据。因此每次读取时我们倒要check一下buffer的数据。为此Netty提供了ReplayingDecoderBuffer这样一个代理类封装原有的buffer。以readInt为例,首先要检查是否有4个字节可读。不满足抛出ReplayError ...
 
xiaoZ5919 评论(0) 有6430人浏览 2012-12-11 10:27

Netty笔记:ReplayingDecoder

  为什么需要ReplayingDecoder,它和FrameDecoder有什么不同呢?ReplayingDecoder是一种特殊FrameDecoder,它能实现在IO阻塞的情况下实现无阻塞的解码。听起来比较拗口而且不好理解,举个例子来说,假设你在用netty设计一个文件传输的模块,采用的Header-Content的协议,在Header中说明文件的长度,我们用一个int来容纳长度,Conten ...
 
xiaoZ5919 评论(2) 有9990人浏览 2012-12-08 12:57

Nio框架需要注意的两个问题(2)

    书接上回,上次说到了selector的register和select会有锁冲突,这次再来考虑write的问题。 1. channel.write(Bytebuffer)是不是总是可写,当socket的writeBuffer满的时候会返回0,说明不能再写进任何字节。假设要写入一个很大的ByteBuffer,有可能需要分多次写。 2. channel上执行write操作需要获得锁保证同步,如 ...
xiaoZ5919 评论(0) 有2052人浏览 2012-11-27 17:35

Nio框架需要注意的两个问题(1)

研究了一段时间Nio框架,有Netty和Tomcat的Nio Connector总结了一些共性的问题的解决方案。     1. Selector的register和select有锁冲突,例如tomcat的Nio Connector,他采用的Acceptor和Poller的模式,Acceptor只负责接收socket,Poller是负责读写的IO线程,这种模式不用于nginx,Poller( ...
 
xiaoZ5919 评论(0) 有2530人浏览 2012-11-26 13:32

Netty笔记:FrameDecoder

     FrameDecoder是Netty Protocol Decode最关键的Decoder,几乎所有和协议解码相关的Decoder都继承自它,那到底解决了什么问题?为什么需要这样的一个部件呢?TCP的传输是基于流的,每个数据包都有可能被分片和然后重组,这时候我们就需要协议去界定一个数据包,通常来说用来方式来确定数据包的边界,一个是基于长度,简单一点就是规定数据包的长度,例如规定每个数据包的 ...
 
xiaoZ5919 评论(1) 有11773人浏览 2012-09-29 11:14
  • 专栏创建者:xiaoZ5919
  • 创建时间:2012-12-08 17:05:11
  • 专栏文章数:8篇
  • 专栏被浏览:72740 次

本专栏热门文章

最新评论

兄弟,程序写好了,股票买了没?要是13年买了,那现在就赚大发了。
xiang37 评论了 基于Netty打造HttpClient实现股票实时推送
哥啊,是NIO trick and trip 不是Nip trick and trip
zkx1217 评论了 Netty的Nio写优化
hash 写道可以带吗贴出来看看嘛?谢谢Netty中自带的
xiaoZ5919 评论了 Netty笔记:ReplayingDecoder
可以带吗贴出来看看嘛?谢谢
hash 评论了 Netty笔记:ReplayingDecoder
liyuanchao2004 写道发份源码可以吗[/q加uote] 加我qq吧405919612
xiaoZ5919 评论了 基于Netty打造HttpClient实现股票实时推送
发份源码可以吗[/q加uote] 加我qq吧
xiaoZ5919 评论了 基于Netty打造HttpClient实现股票实时推送
发份源码可以吗
liyuanchao2004 评论了 基于Netty打造HttpClient实现股票实时推送
楼主,我是说在xp下面, .sh后缀的是 Linux下面的东东吧
liulangdeyu999 评论了 基于Netty实现CometStreaming方式的聊天室
liulangdeyu999 写道这个东西怎么运行bin文件夹下有一个runComet.sh脚本 修改 ...
xiaoZ5919 评论了 基于Netty实现CometStreaming方式的聊天室
这个东西怎么运行
liulangdeyu999 评论了 基于Netty实现CometStreaming方式的聊天室
Global site tag (gtag.js) - Google Analytics