-
netty学习笔记
通过分析源码学习netty,学习基于nio的高性能网络框架的设计。以分析源码为切入点,深入了解框架的设计细节
最近更新文章
今天又看了一遍boyan的《nip trick and trip》,又有一些新的收获。比以前看地更深刻了。其中有一处写到nio的写优化,当nio的channel设置为nonblocking时,写 ...
有6471人浏览
2013-07-12 16:26
netty也研究了一段时间,实践是对知识掌握的试金石。有些东西只是看了面儿上的东西我觉得懂了,如不去深入,一旦要用它去做点什么东西却又觉� ...
有21795人浏览
2013-01-11 18:21
这段时间在研究web服务器消息推送,除了html5的websocket,comet是一项很好的方案。comet不是一项专门的技术,更像是一个凯发k8国际娱乐官网入口的解决方案。说来也简单,服务端需要能把connection hold,浏览器也需要特殊的支持保持从服务端获取数据,幸好用xmlhttprequest,ajax的实现也是靠它。comet一般有两种方式long poll和streaming。长轮询是cl ...
有11594人浏览
2013-01-06 17:18
replayingdecoder的原理是阻塞io,当没有读到足够的数据时,会抛出relayerror,进入以后的loop中不断check是否有足够的数据。因此每次读取时我们倒要check一下buffer的数据。为此netty提供了replayingdecoderbuffer这样一个代理类封装原有的buffer。以readint为例,首先要检查是否有4个字节可读。不满足抛出replayerror ...
有6406人浏览
2012-12-11 10:27
为什么需要replayingdecoder,它和framedecoder有什么不同呢?replayingdecoder是一种特殊framedecoder,它能实现在io阻塞的情况下实现无阻塞的解码。听起来比较拗口而且不好理解,举个例子来说,假设你在用netty设计一个文件传输的模块,采用的header-content的协议,在header中说明文件的长度,我们用一个int来容纳长度,conten ...
有9960人浏览
2012-12-08 12:57
书接上回,上次说到了selector的register和select会有锁冲突,这次再来考虑write的问题。
1. channel.write(bytebuffer)是不是总是可写,当socket的writebuffer满的时候会返回0,说明不能再写进任何字节。假设要写入一个很大的bytebuffer,有可能需要分多次写。
2. channel上执行write操作需要获得锁保证同步,如 ...
有2018人浏览
2012-11-27 17:35
研究了一段时间nio框架,有netty和tomcat的nio connector总结了一些共性的问题的凯发k8国际娱乐官网入口的解决方案。
1. selector的register和select有锁冲突,例如tomcat的nio connector,他采用的acceptor和poller的模式,acceptor只负责接收socket,poller是负责读写的io线程,这种模式不用于nginx,poller( ...
有2504人浏览
2012-11-26 13:32
framedecoder是netty protocol decode最关键的decoder,几乎所有和协议解码相关的decoder都继承自它,那到底解决了什么问题?为什么需要这样的一个部件呢?tcp的传输是基于流的,每个数据包都有可能被分片和然后重组,这时候我们就需要协议去界定一个数据包,通常来说用来方式来确定数据包的边界,一个是基于长度,简单一点就是规定数据包的长度,例如规定每个数据包的 ...
有11742人浏览
2012-09-29 11:14
- 专栏创建者:
- 创建时间:2012-12-08 17:05:11
- 专栏文章数:8篇
- 专栏被浏览:72490 次
本专栏热门文章
最新评论
兄弟,程序写好了,股票买了没?要是13年买了,那现在就赚大发了。
xiang37 评论了
xiang37 评论了
哥啊,是nio trick and trip 不是nip trick and trip
zkx1217 评论了
zkx1217 评论了
hash 写道可以带吗贴出来看看嘛?谢谢netty中自带的
xiaoz5919 评论了
xiaoz5919 评论了
可以带吗贴出来看看嘛?谢谢
hash 评论了
hash 评论了
liyuanchao2004 写道发份源码可以吗[/q加uote] 加我qq吧405919612
xiaoz5919 评论了
xiaoz5919 评论了
发份源码可以吗[/q加uote] 加我qq吧
xiaoz5919 评论了
xiaoz5919 评论了
发份源码可以吗
liyuanchao2004 评论了
liyuanchao2004 评论了
楼主,我是说在xp下面, .sh后缀的是 linux下面的东东吧
liulangdeyu999 评论了
liulangdeyu999 评论了
liulangdeyu999 写道这个东西怎么运行bin文件夹下有一个runcomet.sh脚本 修改 ...
xiaoz5919 评论了
xiaoz5919 评论了
这个东西怎么运行
liulangdeyu999 评论了
liulangdeyu999 评论了