问题标签 [kryo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1522 浏览

java - 如何仅在一种协议上运行 Kryonet 服务器?

我目前正计划在我的游戏中使用 Java 网络库 Kryonet。我将使用 UDP 协议,因为它比 TCP 更快。我喜欢 Kryonet API,它的代码非常简洁,但是当我只希望服务器在 UDP 上运行时,它似乎只允许在TCP和 UDP 上运行服务器。

0 投票
1 回答
180 浏览

java - 用于存储大量重复数据的理想序列化 Java 库?

我的一个班级必须序列化大量实例并使用 Xstream,完成后文件大小变成 30MB。大小并不是真正的问题,因为压缩后它会像 100KB,因为数据非常重复。但是序列化/反序列化需要很多时间。

我尝试使用 kyro,但我并不喜欢它。有什么方法可以优化 XStream 以序列化大量数据,或者我可以使用更好的库吗?

0 投票
1 回答
555 浏览

java - KryoNet - 如何使用 Boolean xx = new clientprocess() 启动客户端;获得返回值?

我正在使用创建一个小型 JAVA 多人游戏来管理服务器/客户端部分。我有一个小问题:在我的服务器程序中,我用一个新的调用方法启动一个客户端,“on”一个布尔值:

在我的客户端进程()中;,我得到了新的client();、client.connect和新客户端的类注册。它还包含 3 个方法conn/receive/disconn。现在,我不知道如何使用返回数据来获取布尔值。(事实上​​,我只是使用这个客户端连接到 BDD 服务器以获得通过/用户检查,所以我只需要一个布尔值来处理客户端。)

我试过停止和关闭客户端连接,删除监听器等等,但我无法摆脱Received();或断开连接();方法。而且因为它们是 Void 方法,所以我不能在方法中创建返回值。(我的实际返回是在clientprocess()结束时;在disconnected()之后;但从未到达过代码。)

有什么可以完全阻止客户端进程到达我的return boolean;声明并继续我的登录过程吗?

这是我的代码的一部分,以Boolean xx = new loginProcess()

0 投票
0 回答
334 浏览

java - 聊天服务器客户端错误

我开发了一个小程序,它的面板上有一个 jar 聊天客户端(使用 kryonet jar 文件)。在其他项目中,我正在调用这个小程序(通过将小程序项目转换为 jar 文件并将其放在第二个项目的根路径中并提供所有 jar 文件)它是小程序打开正常但是当我的聊天客户端用于注册时发生错误服务器端(在不同系统中运行的聊天服务器)。它说的是休闲例外。

我使用了聊天客户端和服务器的 kryonet 示例给出的休闲 示例

1) 我已将 Network 类放在两个应用程序的相同包中。2)当我下载并运行它而不应用到小程序时,这个例子工作正常。

0 投票
1 回答
144 浏览

java - 从 Web 应用程序访问独立应用程序

这可能是一个愚蠢的问题。但我没有任何选择来澄清它。我有一个在 LAN 环境系统中运行的聊天服务器。出于测试目的,我已将聊天客户端小程序部署到 tomcat 服务器中。如何从网页访问服务器。我已经给出了我的本地 IP 地址(192.168.0.XXX 我知道这很糟糕)。该应用程序说访问被拒绝。并得到这个接受

0 投票
2 回答
1428 浏览

java - Jettison 或 Kryo

我目前将 JAXB 用于我正在处理的项目,并希望将我的库归档 xml 转换为归档 json,以便在我的项目中起作用。我想我会使用Jettison,因为它似乎更容易实现,因为它实际上与 JAXB 一起工作;但是,查看不包含 Jettison的旧基准测试,我发现Kryo 生成的文件更小,并且比某些替代方案更快地进行序列化和反序列化。

谁能告诉我关键区别或 Jettison 如何与 Kryo 叠加,尤其是对于未来的项目,如 android 应用程序。

编辑:

我想我正在寻找产生更小文件和更快运行的东西。可以牺牲人类的可读性,因为我不打算阅读仅处理它们的文件

0 投票
2 回答
15016 浏览

java - Generic Java serialization/deserialization using Kryo

I am trying to serialize and deserialize objects of a custom class (say, SomeClass, having a default no-args constructor) to a byte[] array, using Kryo 2.19 and the default serializer (FieldSerializer).

Serialization seems to work OK, but I get various exceptions in deserialization, depending on the actual implementation of SomeClass.

The code looks something like this:

An example of the exceptions I am getting is:

It seems that parameterized types are problematic to deserialize. To test this assumption , here is a parameterized implementation of SomeClass and getObject():

This serializes fine, but deserialization throws the following exception (observe how the first letter of the string is not reported in the exception cause):

If the above class is implemented without parameterization (i.e., the elements array declared as a String[]), deserialization works as expected.

Any ideas?

0 投票
0 回答
141 浏览

java - Kryo 序列化错误仅在选项卡上

我遇到了这个问题:我用 kryonet 库开发的多人游戏在每台设备上都像一个魅力,但很少在银河选项卡上崩溃。它显示的错误是:

E/AndroidRuntime(16861): 致命异常: Thread-30 E/AndroidRuntime(16861): com.esotericsoftware.kryo.KryoException: java.lang.StringIndexOutOfBoundsException: start=0 end=5 data.length=512 index=6 length= 5 E/AndroidRuntime(16861):序列化跟踪:E/AndroidRuntime(16861):电子邮件 (com.momasoft.sudokutournament.network.Network$Login) E/AndroidRuntime(16861):在 com.esotericsoftware.kryo.serializers.FieldSerializer。写(FieldSerializer.java:203)

我真的不知道问题是什么。我的登录类已正确注册,仅包含 2 个字符串。这适用于几乎所有设备,但 Galaxy 选项卡除外。我该如何解决?

0 投票
2 回答
3119 浏览

java - Kyro 序列化错误

我在学校用 eclipse 用我的拇指驱动器工作,然后把拇指驱动器带回家了。

下次运行程序时突然出现这个错误:

我从未见过这种错误,我不知道如何解决它。每次我使用 kryonet 库时都会发生这种情况。有什么可用的解决方案吗?

0 投票
1 回答
214 浏览

android - 仅在 Android 3.0 上例外

我正在将 Kryonet 用于 Android 应用程序,并且可以在除 3.0 版本之外的所有 Android 版本上完美运行。我收到以下异常:

为什么这种情况只发生在 Android 3.0 上?有没有办法解决它?

谢谢!