日期:2014-05-20  浏览次数:20674 次

mina问题
本人刚接触mina,还不大了解如何应用,请各位大侠帮忙解惑,谢谢!

1. API中的四种编码解码方式咯代表什么意思:DemuxingProtocolCodecFactory, ObjectSerializationCodecFactory, PrefixedStringCodecFactory, TextLineCodecFactory 

2. 自己编写解码类,decode(IoSession arg0, IoBuffer arg1, ProtocolDecoderOutput arg2) 方法中,如何获取数据流呢?
arg1.asInputStream().read(),从IoBuffer arg1获得InputStream然后read这种方法对么?
ProtocolDecoderOutput arg2.write()是写回输出流,那如果多包发过来的话改如何处理?现在的问题是我只是将最后一个包写回……

3. TextLineCodecFactory是说是过滤器一行一行读取数据,现使用TextLineCodecFactory处理发过来的报文,发过来之后messageReceived(IoSession session, Object msg)中的msg转化为String发现报文头,是msg没有获得之后的数据呢还是怎么的?如何获得整个报文数据?多包发送的话可以用TextLineCodecFactory处理么??如何做?

------解决方案--------------------
头次听说mina,友情帮顶....
------解决方案--------------------
以前看过这东西,但是没实践过
DemuxingProtocolCodecFactory和ObjectSerializationCodecFactory是配合使用的。
这的意思就是设定一个过滤器,以对象为单位读取数据。
DemuxingProtocolCodecFactory filter= new DemuxingProtocolCodecFactory(new ObjectSerializationCodecFactory());
TextLineCodecFactory设定读取行为,这意思就是按照一行一行的来读取。
new ProtocolCodecFilter(new TextLineCodecFactory()) 

------解决方案--------------------
我是看见标题进来凑热闹学习的,我也没用过这个东东。帮你凑人气。。。。。。。顶。。。。。。。
------解决方案--------------------
第一次听说,学习学习~
------解决方案--------------------
我还以为韩国某明星呢,没接触过,坐下学习~
------解决方案--------------------
没用过
帮顶下