android平台上使用MINA进行数据传输之异常汇总

本文针对Java Mina框架中出现的NoClassDefFoundError及ProtocolDecoderException进行了详细的问题分析,并给出了具体的解决办法,包括正确导入jar包的方式以及调整传输数据配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、java.lang.NoClassDefFoundError: org.apache.mina.transport.socket.nio.NioSocketConnector
问题分析:找不到这个类,可能是jar包没导入,也有可能是导入jar的方式不对。
解决办法:我尝试用buildpath导入jar包,但是没有效果,后来才知道安卓中的jar包由Android Private  Libraries来统一管理,因此,导入jar包只需将jar文件复制到libs目录下即可,此时IDE会自动将jar包build到Android  Private   Libraries 中。


二、org.apache.mina.filter.codec.ProtocolDecoderException: java.nio.BufferUnderflowException (Hexdump: 01 00 00等)
问题分析:没有解析出mina传输的十六进制的数据,出现这种异常的情况通常是使用序列化的对象进行传输的。
解决办法:1. 设置acceptor.getSessionConfig().setReadBufferSize(1024*1024);
    2. 服务端和客户端的传输的实体对象必须要在同样的命名的包中,并且实体对象的类名也要一致,此                                 外,还必须序列化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值