开源框架Mina入门第一篇
??? 这几天初学MINA框架,项目的原因要用到自定义协议,而自定义协议中感觉摸不到头脑了,经常发现自己的Decoder解析不正确。。看了一些大虾的相关文档后发现,原来是MINA的原理没有搞清楚:下面是大虾们的一些经验知识,我在这里转一下,算给自己重新学习了一回!
MINA内部流程
??? “因 IoProcessor 也是相当于轮询机制,这导致在报文过长时,或其它原因导致报文不能一次传输完毕的情况下,必须保存同一连接 ( 在 MINA 中是以 IoSession 类生成的对象 ) 下的上一次状态,这样才能截取到一个完成的报文,而这也是 Decode( 编码器 ) 需要做的核心工作 , 新手往往就在这上面要跌跟斗。”
??? 这个跟斗我还没太弄懂。有哪位大虾能够给出一个类似的DEMO?MINA中怎样合理的轮询才能完成所有收到的包的拼接(我知道多并发处理时IoSession保持了每个接收的缓存,每次通过IoSession进行对象的转换后再继续拼接数据包。。)?理论貌似懂了,但是就是动手困难。。。
?
?
? ? 大侠们,,帮帮小生吧!我做的DEMO的协议:
??? 包头(2字节)? --? 包长度(1字节) --? 包内容(4字节) -- 包尾(2字节)
?
1 楼 tianlovv 2012-06-01 如果你还需要的话我这有demo