Justson/flying-pigeon

发送小于8k byte[] 时key 与大于不一样 导致 arg error 异常

hsy1992 opened this issue · 9 comments

发送小于8k byte[] 时key 与大于不一样 导致 arg error 异常

请贴出代码和异常信息

代码 flyPigeon.route(Constants.FLYING_MQTT_PUSH_URL, topic, new byte[1024]).resquestLarge().fly();

异常

W: java.lang.IllegalArgumentException: arg error
W: at com.flyingpigeon.library.boxing.ServerBoxmenImpl.unboxing(ServerBoxmenImpl.java:64)
W: at com.flyingpigeon.library.Server.dispatch0(Server.java:109)
W: at com.flyingpigeon.library.ServiceContentProvider.call(ServiceContentProvider.java:128)
W: at android.content.ContentProvider$Transport.call(ContentProvider.java:401)
W: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:272)
W: at android.os.Binder.execTransact(Binder.java:697)

能贴一下你的目标调用方法吗?

是最新版本吗?1.0.4

兄弟,找到是什么问题了吗?

我之前用的是1.0.3
flyPigeon.route(Constants.FLYING_MQTT_PUSH_URL, topic, new byte[1024]).resquestLarge().fly();
这样调用的 应该是key的问题 我看小于8k与大于存储的key不同 而取数据的时候都是取key_这样取的
升级到1.0.4之后接收的APP 中的 ServiceContentProvider第 116行会报 java.lang.ClassNotFoundException: com.flyingpigeon.library.Pair$PairString 之后我就用的1.0.3 处理了下小数据的问题

兄弟,你能把你的代码写成Sample上传一下吗? 我分析下。 工程提供的Sample传输Large Data Block 都是正常的。

implementation 'com.github.Justson:flying-pigeon:v1.0.5'
问题已经修复,非常感谢你的反馈