gpt4 book ai didi

java - KryoNet:客户端连接后立即断开连接

转载 作者:行者123 更新时间:2023-12-02 06:11:30 26 4
gpt4 key购买 nike

这似乎是一个很常见的问题,但即使在花费了大量时间进行故障排除后,我仍然无法找到解决方案。我希望有一个更新的解决方案。

我正在使用 KryoNet Java 网络库设置一个简单的服务器和客户端。我的问题是我的客户端在连接到服务器后立即断开连接。

这是我的代码:

服务器

public class TheServer extends Listener {

static Server server;
static final int PORT = 8215;

public static void main(String[] args) throws IOException {
server = new Server();
server.start();
server.bind(PORT);
server.addListener(new TheServer());
System.out.println("server started on " + PORT);
}

public void connected(Connection c) {
System.out.println("connected: " + c.getID());
}

public void disconnected(Connection c) {
System.out.println("disconnected: " + c.getID());
}

}

客户端

public class TheClient extends Listener {

static Client client;
static final String IP = "localhost";
static final int PORT = 8215;

public static void main(String[] args) throws IOException {
client = new Client();
client.start();
client.connect(5000, IP, PORT);
client.addListener(new TheClient());
//client.setKeepAliveTCP(2000);
}

}

运行 TheServerTheClient 后,我的控制台打印:

server started on 8215
connected: 1
disconnected: 1

请注意,连接和断开之间的时间几乎是立即的,肯定小于我设置的连接超时时间。另请注意,我注释掉了 setKeepAliveTCP() 方法,因为虽然我认为没有必要,但我将其插入以查看它是否有效。

最佳答案

再过一些 digging around ,我发现启动客户端:

新线程(客户端).start()

而不是

client.start()

解决了问题。

"Starting with r122, client update threads were made into daemon threads, causing the child processes to close as soon as they finish initializing."

关于java - KryoNet:客户端连接后立即断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21837109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com