【发布时间】:2025-11-23 11:45:02
【问题描述】:
我正在用 java 制作一个简单的多人游戏。 关键是,我需要服务器应用程序能够从多个客户端应用程序接收数据。 例子: 我连接了 2 个客户端应用程序。服务器正在等待来自任何客户端的数据。当使用第一个客户端应用移动游戏角色时,必须将具有新坐标的数据发送到服务器应用,然后必须将角色的新位置广播给所有客户端。我读过这可以通过为每个客户端连接创建一个新线程来完成,但是有没有更好的方法来做到这一点?如果我们启动例如 100 个线程,服务器不会崩溃吗?
感谢所有回复, 氰化物
【问题讨论】:
-
在假设服务器会崩溃之前试一试。制作一个简单的服务器应用程序,它接受客户端并模拟 100 个客户端。
-
100 个线程可能不是问题。但一般来说,每个客户端的线程不能很好地扩展,你最好使用某种形式的selector。
标签: java multithreading sockets