问题解决了吗,很是好奇 |
我当时在用MINA写即时通讯框架 MobileIMSDK 时遇到过的类似问题。 我的问题是服务端向客户端发送的内容里,客户端解码后出现4个字节的乱码。 当时的原因是:客户端如果用官方的jar包实现的话,就不会乱码,而不用官方jar,直接用 标准的socket去实现却会出现乱码。 出现问题时服务端向客户端写数据的代码是这样的: IoBuffer buf = IoBuffer.allocate(res.length); buf.setAutoExpand(true); buf.putInt(res.length); buf.put(res); buf.flip(); buf.shrink(); // 向客户端写数据 WriteFuture future = session.write(buf); 我的解决方法是,服务端向客户端写数据的代码改为下面的方式,问题解决: IoBuffer buf = IoBuffer.wrap(res); // 向客户端写数据 WriteFuture future = session.write(buf); 我分析,可能出问题的那段代码里,MINA的实现进行一些非标准封装导致,但这只是猜想,有机会看看MINA源代码应该能找到原因。 我的问题跟你的现象差不多,但貌似场景不一样,仅供参考。 |
人工置顶,谢谢大家。 |
麻烦大家花点时间帮我看看,谢谢了 |
引用:M_Kingsunx 发表于 2016-02-26 14:03 感谢关注,是的,客户端用的是MINA的jar包,参考的是官方的例子。 |
客户用的也是MINA的jar包吗 |