问题标签 [kryonet]
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.
android - 注册用户?
我需要为我的游戏创建一个登录/注册系统,但我不知道这通常是如何完成的。我已经用 Kryonet 设置了一个可以工作的客户端/服务器系统,我可以在其中通过网络推送数据。任何用户都可以登录,但一旦他断开连接,一切都会丢失。最终我希望这与 Facebook 登录兼容,但目前没有必要。
java - Kryonet 在多次发送自定义对象后断开连接
我正在使用 KryoNet 学习一些网络知识,我遇到了一个问题,当我将对象从服务器发送到客户端时,它发送它就很好,我可以阅读它,但是当我再次发送它时,我得到了这个错误。
服务器:
客户:
我的课:
}
堆栈跟踪:
java - Kryonet 聊天 POC 超时问题
所以,我正在对 Kryonet 库进行一些试验,并开始我决定开发一个简单的聊天程序,允许从客户端(远程计算机)到服务器(本地计算机)进行通信。
一切似乎都正常,我能够从客户端接收消息到我的服务器。
但是有一个很烦人的问题:如果客户端在一段时间内没有发送任何数据包(这里的数据包是文本消息),他会被服务器断开连接,说他超时了。
我正在努力解决这个问题,我不知道如何解决这个问题......
以下是我的程序的来源(除了注释掉//all my imports
以避免有大量的导入行......):
ChattyServer.java
NetworkListener.java(服务器端)
Packet.java(服务器和客户端通用)
ChattyClient.java
NetworkListener.java(客户端)
有人可以告诉我我做错了什么吗?即使客户端长时间空闲,我也想保持客户端和服务器之间的连接。
先感谢您 !
java - 我可以发送一个包含我在 kyronet 中创建的类的对象的 ArrayList 吗?(爪哇)
我的代码没有问题,我想知道 Kryonet 是否可以在 ArrayList 中发送自定义对象。比如我的游戏是MMORPG,有不同的地图。当客户端从服务器请求地图时,我希望返回的地图包在地图上包含玩家和实体的 ArrayList。那可能吗?
示例地图包:
如果这是不可能的,我将如何去做?
java - Kryonet,无法发送 BufferedImage
我仍在学习 Java,我搜索了 Kryonet 的 Javadoc,但没有找到任何问题的答案。
我正在向一个简单的聊天程序添加网络摄像头功能。
我目前正在尝试将我的网络摄像头拍摄的单帧传输到另一台计算机。
Kryonet 允许我发送“自制”数据包,所以制作了这个数据包:
Packet9WebcamFrame.java
在我的客户中,我必须注册这个数据包:
但后来我遇到了让我注册其他课程的错误:
所以,现在,当我的客户收到说“你好,我需要你给我发送一个网络摄像头帧”的数据包时,它会这样做:
之后我希望它会工作,但仍然是一个错误:
com.esotericsoftware.kryo.KryoException: java.nio.BufferOverflowException 序列化跟踪:bankdata (java.awt.image.DataBufferByte) dataBuffer (sun.awt.image.SunWritableRaster) 光栅 (java.awt.image.BufferedImage)
框架(com.jmr.monitor.packets.Packet9WebcamFrame)
在 com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:585) 在 com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:213) 在 com.esotericsoftware.kryo.Kryo.writeObject (Kryo.java:504) 在 com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:564) 在 com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:213) 在 com。 esotericsoftware.kryo.Kryo.writeObject(Kryo.java:504) 在 com.esotericsoftware.kryo.serializers.FieldSerializer$ObjectField.write(FieldSerializer.java:564) 在 com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer. java:213) 在 com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:504) 在 com.esotericsoftware.kryo.serializers。FieldSerializer$ObjectField.write(FieldSerializer.java:564) at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:213) at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:571) at com .esotericsoftware.kryonet.KryoSerialization.write(KryoSerialization.java:50) at com.esotericsoftware.kryonet.TcpConnection.send(TcpConnection.java:192) at com.esotericsoftware.kryonet.Connection.sendTCP(Connection.java:59) at com.jmr.monitor.PacketHandler.handlePacket4(PacketHandler.java:131) 在 com.jmr.monitor.Main$1.received(Main.java:93)KryoSerialization.write(KryoSerialization.java:50) at com.esotericsoftware.kryonet.TcpConnection.send(TcpConnection.java:192) at com.esotericsoftware.kryonet.Connection.sendTCP(Connection.java:59) at com.jmr.monitor .PacketHandler.handlePacket4(PacketHandler.java:131) 在 com.jmr.monitor.Main$1.received(Main.java:93)KryoSerialization.write(KryoSerialization.java:50) at com.esotericsoftware.kryonet.TcpConnection.send(TcpConnection.java:192) at com.esotericsoftware.kryonet.Connection.sendTCP(Connection.java:59) at com.jmr.monitor .PacketHandler.handlePacket4(PacketHandler.java:131) 在 com.jmr.monitor.Main$1.received(Main.java:93)
所以,这是一个 bufferOverflow 问题,我在客户端的构造函数中尝试了一些事情,例如增加缓冲区大小,但到目前为止没有运气。
关于如何解决这个烦人的问题的任何想法?
先感谢您。
问候,
阿兹德。
android - 带有服务器/客户端的 Android 游戏无法使用 kryonet
几天来我一直在尝试找出问题所在,改变事物等,但无济于事。
尝试使用我的三星设备调试客户端时,在 android studio 中出现以下错误:
我认为它使用相同的 java 版本,并且我注册的类完全相同。客户端:
服务器端:
类:
正如你可以看到它非常基本的代码,但连接是一场噩梦。请帮忙!!我在 android studio 中创建客户端,在 eclipse 中创建服务器。这可能是问题的原因吗?这是我能够怀孕的唯一合乎逻辑的原因。我该如何解决?
java - Kryonet 序列化错误
在有人试图告诉我这是重复之前,我已经尝试了解决方案以及我能找到的几乎所有其他答案。
我的项目在 IntelliJ 中构建良好,通过了我设置的所有测试,甚至在 IntelliJ 内部运行也很好,只要我尝试运行由 maven 构建的 JAR,我就会被打脸,但有几个例外。
代码指向的类:
根据我在通过命令提示符运行时看到的异常,问题出在第 31 行,即:
命令提示符中的堆栈跟踪如下:
如前所述,我使用 maven 构建此项目,我使用 maven-shade-plugin 将 kryonet 文件隐藏到我的 JAR 中。
这是我的 POM.xml:
java - 如何为 Array<> 编写序列化程序?
我不知道如何解决这个问题。Array<>
我需要为在 libgdx 中找到的对象编写一个序列化程序。
这就是我通常的序列化完成的方式。在这里,我需要为PlayerDataPacket
.
我发现了这个:https ://groups.google.com/forum/#!topic/kryonet-users/9z4Ix2JO7JA
但它似乎已经过时了,因为它找不到一些方法,而且它没有说明如何用Array<>
.
java - 如何自动将所有嵌套的静态类作为参数传递给方法调用?
有没有办法在类中检索静态类数组Network
(定义如下),并将每个类的属性传递class
给方法调用的参数kryo.register
?
udp - Kryonet 连接 udp:无法分配请求的地址
我是服务器开发的新手。我正在尝试 Kryonent。我使用了一个服务器
和一个客户使用
我正在使用 IP 0.0.0.0 在同一台 Windows 笔记本电脑上测试客户端和服务器。发生异常:
我做错了什么?