我不是Java编程的新手。我想知道如何继续我的项目。
我想使用TCP / IP协议套接字系统在Java中开发集中式游戏系统。它应该获取玩家的详细信息并在游戏窗口中显示信息。
这些是我的标准:
最高&最少玩家可以参加? 服务器在游戏板的给定状态之前的行为:应该邀请一个或多个玩家提供他们的投篮,通知对手的打击或玩家可以宣布该聚会结束? 如何在玩家提供镜头时更新游戏???
我不是在寻找直接回答。我正在寻找一些指导,这对我开始这个项目很有帮助。是否有任何工具用于使用TCP协议的多客户端多实例集中式服务器???
答案 0 :(得分:1)
java,mina,netty有几个网络库。
借助这些网络库,您可以轻松解决网络问题 。
您应该维护服务器内存中的所有user_context
个对象,并将每个对象绑定到相应的tcp连接。在大多数情况下,user_context
对象维护为RB树的哈希映射/字典。
因此,当某些事件发生时,您可以找到相应的用户/客户端并将消息发送给他们。
答案 1 :(得分:1)
我认为最小球员数是0;
最大可能取决于; - 你的带宽,你需要有一个显着的上传速度,你想要成千上万的用户。 - 管理每个用户的工作量。您可以在单个服务器上连接10,000个用户(如果他们没有做太多工作),但是当您添加功能时,每个服务器的用户数将减少到1000个,可能只有100个。
当您拥有无限带宽和每个连接的繁琐工作(通常复制byte[]
零)时,IO框架的选择会产生很大的不同。对于实际应用程序,它不太可能重要。如果您以后找到更好的解决方案,我建议您选择哪种解决方案,以便轻松更换。
是否有使用TCP协议的多客户端多实例集中服务器的工具???
使用的常用工具是JMS,但游戏可能是您可能不会使用它的一个区域。我将从ActiveMQ开始,因为这将使您快速启动并运行,只需确保您以后可以轻松更换它。