首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java KryoNet BufferUnderflow

Java KryoNet BufferUnderflow
EN

Stack Overflow用户
提问于 2015-12-28 10:41:48
回答 1查看 254关注 0票数 0

我对KryoNet的最新版本有一个很奇怪的问题。我正在从我的客户端和我的服务器发送一个非常简单的数据包,并获得缓冲区下流异常。我有另外4个注册的数据包,它们都完美无瑕地工作。获取缓冲区下流问题的数据包有两个字符串变量,并且已经在TCP和UPD中进行了测试。当数据包被相当快地发送到时,异常发生,至少在一秒钟内发送两次。非常奇怪,考虑到我有其他的数据包正在被更新60次每秒。

这个问题与我研究过的其他缓冲底流问题有很大的不同。此问题不是由发送非常大的数据引起的,因为数据包只有两个字符串变量。这个问题也不是由applet或其他一些配置引起的,因为我将它作为目前使用LibGDX的应用程序运行。

你们对造成这个问题的原因有什么想法吗?

谢谢你,祝你假期愉快,-杰克

来源:https://github.com/SirTrashyton/SquareContest (我有问题的类是Packet05Chat)

EN

回答 1

Stack Overflow用户

发布于 2015-12-29 04:59:44

经过几个小时的测试,我找到了一个解决方案。事实证明,KryoNet无法区分对象类型。当我向服务器发送一个字符串,其中包含类似于另一个对象的内容时,比如Integer、一个字符等等,KryoNet会非常奇怪地解析该字符串并产生一个错误。

很容易通过在消息中添加一个后缀来解决这个问题,比如"OK“之类的随机事件。然后,当它被服务器发回时,我会将'OK‘替换为’OK‘。

希望这能帮助其他人得到这个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34491983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档