摘要: 开发过Web应用的同学应该都会使用session。由于HTTP协议本身是无状态的,所以一个客户端多次访问这个web应用的多个页面,服务器无法判断多次访问的客户端是否是同一个客户端。有了session就可以设置一些和客户端相关的属性,用于保持这种连接状态。例如用户登录系统后,设置session标记这个 阅读全文
posted @ 2014-09-11 09:42 叉叉哥 阅读(2720) 评论(5) 推荐(2) 编辑
摘要: protobuf是谷歌的Protocol Buffers的简称,用于结构化数据和字节码之间互相转换(序列化、反序列化),一般应用于网络传输,可支持多种编程语言。 protobuf如何使用这里不再介绍,本文主要介绍在MINA、Netty、Twisted中如何使用protobuf,不了解protobuf 阅读全文
posted @ 2014-08-29 10:11 叉叉哥 阅读(2374) 评论(1) 推荐(3) 编辑
摘要: 在前面的博文中,介绍一些消息分割的方案,以及MINA、Netty、Twisted针对这些方案提供的相关API。例如MINA的TextLineCodecFactory、PrefixedStringCodecFactory,Netty的LineBasedFrameDecoder、LengthFieldB 阅读全文
posted @ 2014-08-28 09:34 叉叉哥 阅读(2238) 评论(1) 推荐(1) 编辑
摘要: 在上一篇博文中,有介绍到用换行符分割消息的方法。但是这种方法有个小问题,如果消息中本身就包含换行符,那将会将这条消息分割成两条,结果就不对了。 本文介绍另外一种消息分割方式,即上一篇博文中讲的第2条:use a fixed length header that indicates the lengt 阅读全文
posted @ 2014-08-27 09:54 叉叉哥 阅读(2016) 评论(1) 推荐(3) 编辑
摘要: 在TCP连接开始到结束连接,之间可能会多次传输数据,也就是服务器和客户端之间可能会在连接过程中互相传输多条消息。理想状况是一方每发送一条消息,另一方就立即接收到一条,也就是一次write对应一次read。但是,现实不总是按照剧本来走。 MINA官方文档节选: TCP guarantess deliv 阅读全文
posted @ 2014-08-26 09:54 叉叉哥 阅读(2762) 评论(3) 推荐(4) 编辑
摘要: MINA、Netty、Twisted为什么放在一起学习?首先,不妨先分别看一下它们官方网站对其的介绍: MINA: Apache MINA is a network application framework which helps users develop high performance an 阅读全文
posted @ 2014-08-25 14:36 叉叉哥 阅读(6696) 评论(6) 推荐(10) 编辑