gpt4 book ai didi

Java多线程服务器

转载 作者:行者123 更新时间:2023-12-01 12:08:17 24 4
gpt4 key购买 nike

我正在用 Java 编写一个游戏服务器。正如游戏服务器中常见的那样,我必须获取一个客户端收到的数据并将其分发到该客户端的房间(其他客户端)。目前,每个客户端都会生成自己的线程并在此基础上工作。然而,我很难定义玩家之间的关系。我如何控制聊天之类的东西,其中必须将消息回显给同一房间中的所有其他玩家?我正在考虑类似消息队列的东西,其中所有线程通常会查找消息并将它们发送到自己的客户端。

我也愿意接受立即放弃多线程的建议,但我不熟悉 NIO 并且服务器已经使用普通的 Socket 和 Thread 编写>s.

摘要:如何让我的客户端(在线程中)相互交谈?或者有更好的非线程替代方案吗?

最佳答案

我使用的一种方法是设计一个 Server 类和一个扩展 Thread 的类。

Server 类将生成所有线程,并保留它创建的所有当前正在运行的线程的列表。

在 Thread 类中,使用 Socket 对象创建输入/输出流。当其中一个线程有话要说时,它将通过流与服务器通信,然后由服务器将该消息传递给所有当前正在运行的线程。

这个非常简单的 Java 教程实际上对我帮助很大。

https://docs.oracle.com/javase/tutorial/networking/sockets/readingWriting.html

关于Java多线程服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27424845/

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