查看: 4415|回复: 2
打印 上一主题 下一主题

[其他] sfs2x服务端返回带中文字符串key的ISFSObject到u3d客户端,抛Ex...

[复制链接]

5

主题

3

听众

288

积分

设计实习生

Rank: 2

纳金币
99
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2013-12-20 10:38:19 |只看该作者 |倒序浏览
客户端组织了一个三层ISFSObject的嵌套关系数据,其中有业务中文字符串数据作为ISFSObject的key,能发送到服务端,但是服务端返回客户端时,抛出异常:
Exception: java.nio.BufferOverflowException
Message: *** Null ***
+--- --- ---+
Stack Trace:
+--- --- ---+
java.nio.HeapByteBuffer.put(Unknown Source)
java.nio.ByteBuffer.put(Unknown Source)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.encodeSFSObjectKey(DefaultSFSDataSerializer.java:1320)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.obj2bin(DefaultSFSDataSerializer.java:505)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.object2binary(DefaultSFSDataSerializer.java:491)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.encodeObject(DefaultSFSDataSerializer.java:830)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.obj2bin(DefaultSFSDataSerializer.java:508)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.object2binary(DefaultSFSDataSerializer.java:491)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.encodeObject(DefaultSFSDataSerializer.java:830)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.obj2bin(DefaultSFSDataSerializer.java:508)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.object2binary(DefaultSFSDataSerializer.java:491)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.encodeObject(DefaultSFSDataSerializer.java:830)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.obj2bin(DefaultSFSDataSerializer.java:508)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.object2binary(DefaultSFSDataSerializer.java:491)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.encodeObject(DefaultSFSDataSerializer.java:830)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.obj2bin(DefaultSFSDataSerializer.java:508)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.object2binary(DefaultSFSDataSerializer.java:491)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.encodeObject(DefaultSFSDataSerializer.java:830)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.obj2bin(DefaultSFSDataSerializer.java:508)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.object2binary(DefaultSFSDataSerializer.java:491)
com.smartfoxserver.v2.entities.data.SFSObject.toBinary(SFSObject.java:234)
com.smartfoxserver.v2.protocol.binary.BinaryIoHandler.handleWrite(BinaryIoHandler.java:76)
com.smartfoxserver.v2.protocol.SFSIoHandler.onDataWrite(SFSIoHandler.java:333)
com.smartfoxserver.v2.protocol.SFSProtocolCodec.onPacketWrite(SFSProtocolCodec.java:157)
com.smartfoxserver.bitswarm.core.BitSwarmEngine.writeToSocket(BitSwarmEngine.java:396)
com.smartfoxserver.bitswarm.core.BitSwarmEngine.write(BitSwarmEngine.java:390)
com.smartfoxserver.bitswarm.io.Response.write(Response.java:70)
com.smartfoxserver.v2.api.response.SFSResponseApi.sendExtResponse(SFSResponseApi.java:86)
com.smartfoxserver.v2.api.SFSApi.sendExtensionResponse(SFSApi.java:1338)
com.smartfoxserver.v2.extensions.BaseSFSExtension.send(BaseSFSExtension.java:433)
com.smartfoxserver.v2.extensions.BaseSFSExtension.send(BaseSFSExtension.java:410)
vr.fullControl.vrtest.VrOnlineExtension.SendFpsetData(VrOnlineExtension.java:537)
vr.fullControl.vrtest.simulation.World.processSendFPData(World.java:133)
vr.fullControl.vrtest.handlers.SendFirePowerDataToClient.handleClientRequest(SendFirePowerDataToClient.java:13)
com.smartfoxserver.v2.extensions.SFSExtension.handleClientRequest(SFSExtension.java:208)
com.smartfoxserver.v2.controllers.ExtensionController.processRequest(ExtensionController.java:143)
com.smartfoxserver.bitswarm.controllers.AbstractController.run(AbstractController.java:96)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
经过测试,服务端send到客户端时,只要实例化的ISFSObject用中文做了Key就会抛这个异常,求好心人指点下。
但是我的一个朋友测试,他那里是能send到客户端成功的。我的同事测试也会报这个异常。
真心求指教!!!!       
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

may    

8830

主题

80

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52328
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

沙发
发表于 2013-12-20 12:04:08 |只看该作者
帮你顶一下,这个问题不是很明白
回复

使用道具 举报

5

主题

3

听众

288

积分

设计实习生

Rank: 2

纳金币
99
精华
0

最佳新人

板凳
发表于 2013-12-20 13:57:31 |只看该作者
may 发表于 2013-12-20 12:04
帮你顶一下,这个问题不是很明白

非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-9-21 19:00 , Processed in 0.087046 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部