mina框架中如何处理大于缓存大小的数据

 我来答
精品DIY生活
2014-11-06 · 知道合伙人数码行家
精品DIY生活
知道合伙人数码行家
采纳数:46447 获赞数:131771
视频剪辑、网络管理、图片处理、办公自动化、文学、语言学。

向TA提问 私信TA
展开全部
如果你接收的消息是以\r\n结尾的话,那么可以使用mina自带的TextLine debode。如果不是的话,那么就得你自己写一个decode,这要求你接收的消息中,有能够明确的标识一条完整消息的消息头或消息尾。或者有当前接收的消息的长度,或者校验和这类的字段,以便你能够区分出是一条完整的消息。写这个decode,有点复杂,需要考虑的情况比较多,最好对这个decode做充分的单元测试。如果在decode中解析消息时出现问题,最好把链接断开,因为出现问题了,有可能你读进来的内容已经乱掉了,后面的会全都乱掉。比如,你读进来四个字节,这个四个字节应该代表的是消息长度,但你读进来的这四个字节其实是消息内容,那么在你将其转换位长度的时候,就会抛异常。这时候,顺序已经乱了,目前我能想到的解决方法,就是断开连接,然后自动重连。当然,如果你写的decode没有问题,就不存在这种情况了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式