带有小程序的Java服务器游戏

我必须用Java实现一个简单的游览客户端 - 服务器游戏。 不幸的是,我刚刚开始使用网络编程,并在选择适当的解决方案时遇到了一些问题。

假设我正在创建一个国际象棋游戏,其中两个客户端可以连接到服务器,使用用户名和密码进行身份验证并进行游戏。 客户端必须被编程为applet(瘦客户端),但我不知道我应该用作服务器。

我的意思是,我已经阅读了几种不同的可能性,例如RMI,套接字,servlet,但仍然不知道哪一个符合我的需求。 我有点困惑,因为我不完全理解沟通将如何进行。

我应该创建一个可以在服务器上一直运行并等待玩家的可执行服务器吗? 这在我看来似乎是一种奇怪的方式。 或者有没有更简单的方法可以这样做,例如,我可以制作一个servlet并将它放在Tomcat服务器上,这样服务器只有在有玩家的情况下才能运行? 该servlet可以与小程序(客户端)进行通信,反之亦然?*

我会很感激一些提示。


我可以制作一个servlet并将它放在Tomcat服务器上,这样服务器只有在有玩家的情况下才能运行

Tomcat实例无论如何都会运行,否则玩家无法连接到它。

你可以做的是提供一个服务器,在玩家连接时启动一个新的游戏实例。 服务器本身必须始终运行。

在技​​术方面,我建议你使用任何你感觉舒服的东西。 不关心性能,但尝试着手。

所以如果你已经掌握了一些通信技术的知识,那就试着使用它。 只需注意限制并考虑到这些限制(例如消息格式,推/拉通信等)。


这取决于你之后的游戏类型。 小程序通常是展示动画(完全以Java)并且可以从浏览器访问的好选择。 真实世界的例子会转移到客户端演示Flash。

如果你的游戏是一个转型游戏(国际象棋,卡片等),那么你可以用servlet或web服务或ajax的形式实现你的逻辑,适当使用散列表或数据库来存储服务器端的实时会话。 如果您的游戏更多地涉及用户体验(例如以极品飞车为例),那么创建自定义服务器更有意义。


如果您正在Java中寻找网络应用程序框架,那么您可以考虑阅读Apache MINA。 文档声称它“可以帮助用户轻松开发高性能和高可扩展性的网络应用程序”。 它通过Java NIO支持各种传输,如TCP / IP和UDP / IP。 这里可以看到特征总结。

我对MINA的个人体验非常好,并且用于各种项目。 一种实现类似于你的情况,它不是多人游戏,但是涉及到连接服务器的多个小程序。 我发现MINA非常擅长处理多个会话。 它做得非常整齐。 而且它很容易扩展和维护代码。 轻松添加过滤器并定义协议。

没有。 可用于启动和初始设置的好教程很容易做到。

然而,就像任何新兴的开源项目一样,它也有它的问题。 那就是:在线社区很小,文档虽然迅速提高,但是非常有限。

官方用户指南涵盖了大部分基础知识,如果您想了解更多信息,这是一个很好的起点。

链接地址: http://www.djcxy.com/p/9561.html

上一篇: server game in Java with applets

下一篇: Getting application title from a Word OLE application object