- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Kryonet 库自学一些 Java 网络知识。下面的代码和kyronet教程中的代码几乎一模一样。 https://code.google.com/p/kryonet/#Running_a_server
客户端成功发送消息“这是请求!”到服务器(服务器正在打印出来)但是客户端没有收到来自服务器的任何响应,即使服务器正在发送响应。
我尝试修复它但没有成功,任何人都可以看到或建议代码可能存在的问题/解决方案吗?
(代码如下)
客户端
public class Client_test {
Client client = new Client();
public Client_test() {
Kryo kryo = client.getKryo();
kryo.register(SomeRequest.class);
kryo.register(SomeResponse.class);
client.start();
try {
client.connect(50000, "127.0.0.1", 54555, 54777);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
client.addListener(new Listener() {
public void received (Connection connection, Object object) {
if (object instanceof SomeResponse) {
SomeResponse response = (SomeResponse)object;
System.out.println(response.text);
}
}
});
SomeRequest request = new SomeRequest();
request.text = "Here is the request!";
client.sendTCP(request);
}
}
服务器
public class ServerGame {
Server server = new Server();
public ServerGame() {
Kryo kryo = server.getKryo();
kryo.register(SomeRequest.class);
kryo.register(SomeResponse.class);
server.start();
try {
server.bind(54555, 54777);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
server.addListener(new Listener() {
public void received (Connection connection, Object object) {
if (object instanceof SomeRequest) {
SomeRequest request = (SomeRequest)object;
System.out.println(request.text);
SomeResponse response = new SomeResponse();
response.text = "Thanks!";
connection.sendTCP(response);
}
}
});
}
}
响应和请求类
public class SomeRequest {
public String text;
public SomeRequest(){}
}
public class SomeResponse {
public String text;
public SomeResponse(){}
}
最佳答案
在观看了 youtube 视频并在网上筛选了许多小时后,我找到了答案。我会在这里发布,因为似乎很多人都遇到过这个问题,所以我想传播一下。
基本上客户端会在接收和输出消息包之前立即关闭。这是因为“从r122开始,客户端更新线程被做成了守护线程,导致子进程一完成初始化就关闭了。”,解决方案是“也许你可以使用这个?new Thread(client).start( );.
所以基本上不用
client.start();
启动客户端线程你必须使用
new Thread(client).start();
我相信这会阻止将线程变成守护线程,从而解决问题。
来源:https://groups.google.com/forum/?fromgroups#!topic/kryonet-users/QTHiVmqljgE
关于Java Kryonet 服务器,客户端未收到服务器响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17011178/
有在项目中使用过Java Kryonet库的 friend 愿意分享一下经验吗?我看到它被推荐过几次,但实际上没有看到任何人谈论他们使用它的经历。 具体来说,我想确保它可靠且相对稳定。或者我应该考虑使
我发现这个 API 名为 Kryonet 。好吧,我尝试实现项目页面中提供的示例。然而,它并不成功。 服务器代码: public class KryoTest { public KryoTest()
这似乎是一个很常见的问题,但即使在花费了大量时间进行故障排除后,我仍然无法找到解决方案。我希望有一个更新的解决方案。 我正在使用 KryoNet Java 网络库设置一个简单的服务器和客户端。我的问题
当我使用这条线路进行连接时,我的 Kryonet 服务器在 5000 毫秒后断开连接client.connect(5000, 主机, Network.port);我以为 5000 是连接超时,但当我运
在有人试图告诉我这是重复的之前,我已经尝试过 this 上的解决方案以及我能找到的几乎所有其他答案。 我的项目在 IntelliJ 中构建得很好,通过了我设置的所有测试,它甚至可以从 IntelliJ
我正在用 Java 编写一个图形在线程序,并使用 Kryonet 库来处理网络。 我相信这个库要求数据包是类的实例。我不确定这一点,但是没有找到任何其他建议的文档。 我对网络和内存效率有一点了解,但没
我正在使用 Kryonet 进行对象的 TCP 发送,特别是名为 TransferMessage 的对象: public static class TransferMessage{String tex
我正在使用 Slick2D 制作游戏并使用 Kryonet 进行多人游戏。我的架构的设置是为了让所有客户端都连接到服务器,该服务器本身并不玩游戏(而不是玩家在同一程序中运行客户端和服务器)。这是一款
我遇到 Kryonet 服务器在收到来自客户端的对象后崩溃的问题。服务器代码: package com.qookie.miner_server; import java.io.IOException;
所以我在测试我的网络时遇到问题,下面有很多代码,但这只是我可以做的一个例子。我遇到的问题是,当我发送消息时,我向服务器和客户端注册的监听器似乎永远不会被调用。 lock.await(5000, Tim
我的 kryonet 遇到客户端断开连接的问题。谁能帮我解决这个问题的根源是什么? 使用kryonet库,为了让客户端保持连接,它需要发送和接收KeepAlive数据包。客户端线程会自动处理此问题。但
我注意到 Kryonet 大约每 5 秒发送/接收一个我未向每个连接的成员注册的对象。它可能只是几个字节,即使对于几千个玩家来说,服务器负载也不会超过 1 kB/s,但我需要知道。 这是为什么? 这有
所以我正在尝试 kryonet,发送自定义数据包,但我的服务器中的监听器似乎无法接收它。 server.addListener(new Listener() { @Suppre
我正在使用 KryoNet 学习一些网络知识,我遇到了一个问题,当我将对象从服务器发送到客户端时,它发送得很好并且我可以读取它,但是当我再次发送它时,我收到此错误。 服务器: server = new
我正在尝试在 Android 应用程序中使用 Kryonet,但是当我在 Android 虚拟设备上尝试使用它时,甚至在我的 Android 手机上,我都会收到此错误: -Could not find
简单的问题,是否可以用 Kryonet 发送原始字节数组数据包?客户端不使用 Kryonet,将读取字节 谢谢 最佳答案 Kryonet 基于通过 NIO 的简单 tcp 通信以及内置的 kryo 序
我关注了this Youtube tutorial涵盖 Kryonet 的基础知识。 基本上它是一个 Kryonet Hello World,它解释了如何设置一个基本的服务器和一个客户端,允许客户端向
我尝试使用 Libgdx 库为 Android 平台开发游戏。对于网络,我使用 Kryonet 库。 当我确定我的应用程序已连接到我的服务器时,我想更换屏幕。 网络部分似乎可以工作,但线程有问题:执行
我正在尝试使用 Kryonet 库自学一些 Java 网络知识。下面的代码和kyronet教程中的代码几乎一模一样。 https://code.google.com/p/kryonet/#Runnin
我正在做一个小型 MMO 项目,现在我正在开发登录/注册系统。每当我尝试发送 ClientLoginPacket 时,客户端就会与服务器断开连接,并且服务器根本不会收到该数据包。没有显示堆栈跟踪,但这
我是一名优秀的程序员,十分优秀!