protobuf是谷歌的Protocol Buffers的简称,用于结构化数据和字节码之间互相转换(序列化、反序列化),一般应用于网络传输,可支持多种编程语言。protobuf如何使用这里不再介绍,本文主要介绍在MINA、Netty、Twisted中如何使用protobuf,不了解protobuf的同学可以去参考我的另一篇博文。在前面的一篇博文中,有介绍到一种用一个固定为4字节的前缀Header来...
分类:
Web程序 时间:
2014-08-27 11:05:27
阅读次数:
313
在上一篇博文中,有介绍到用换行符分割消息的方法。但是这种方法有个小问题,如果消息中本身就包含换行符,那将会将这条消息分割成两条,结果就不对了。本文介绍另外一种消息分割方式,即上一篇博文中讲的第2条:use a fixed length header that indicates the length...
分类:
Web程序 时间:
2014-08-27 10:33:17
阅读次数:
287
【原文】https://github.com/code4craft/netty-learning/blob/master/posts/ch3-pipeline.mdChannel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Cha...
分类:
Web程序 时间:
2014-08-26 22:47:06
阅读次数:
464
【原文】https://github.com/code4craft/netty-learning/blob/master/posts/ch4-reactor.md一:Netty、NIO、多线程?时隔很久终于又更新了!之前一直迟迟未动也是因为积累不够,后面比较难下手。过年期间@李林锋hw发布了一个Ne...
分类:
Web程序 时间:
2014-08-26 22:43:06
阅读次数:
369
【原文】https://github.com/code4craft/netty-learning/blob/master/posts/ch2-buffer.md上一篇文章我们概要介绍了Netty的原理及结构,下面几篇文章我们开始对Netty的各个模块进行比较详细的分析。Netty的结构最底层是buf...
分类:
Web程序 时间:
2014-08-26 21:26:36
阅读次数:
384
【原文https://github.com/code4craft/netty-learning/blob/master/posts/ch1-overview.md#%E5%90%88%E5%BC%80%E5%90%AFnetty%E6%BA%90%E7%A0%81%E4%B9%8B%E9%97%A8...
分类:
Web程序 时间:
2014-08-26 16:56:46
阅读次数:
445
在TCP连接开始到结束连接,之间可能会多次传输数据,也就是服务器和客户端之间可能会在连接过程中互相传输多条消息。理想状况是一方每发送一条消息,另一方就立即接收到一条,也就是一次write对应一次read。但是,现实不总是按照剧本来走。MINA官方文档节选:TCP guarantess deliver...
分类:
Web程序 时间:
2014-08-26 11:02:47
阅读次数:
346
MINA、Netty、Twisted为什么放在一起学习?首先,不妨先看一下他们官方网站对其的介绍:MINA:Apache MINA is a network application framework which helps users develop high performance and hi...
分类:
Web程序 时间:
2014-08-25 16:21:44
阅读次数:
289
在前面的博文中,介绍一些消息分割的方案,以及MINA、Netty、Twisted针对这些方案提供的相关API。例如MINA的TextLineCodecFactory、PrefixedStringCodecFactory,Netty的LineBasedFrameDecoder、LengthFieldBasedFrameDecoder,Twisted的LineOnlyReceiver、Int32StringReceiver。
除了这些方案,还有很多其他方案,当然也可以自己定义。在这里,我们定制一个自己的方案,并...
分类:
Web程序 时间:
2014-08-25 13:25:14
阅读次数:
206