java - 平板电脑的客户端服务器框架

标签 java objective-c websocket client-server multiplayer

我需要为平板电脑创建一个多人游戏,并且一直在寻找一个客户端服务器框架,我可以在服务器端使用 Java,在客户端使用 Objective C 或 Java。该游戏的 Action 并不激烈,一次只会由少数玩家而不是数百万人使用。

我查看了 WebSockets,但它的目标似乎是浏览器而不是平板电脑,尽管还有 a framework for doing Objective C Objective C 在客户端。

我对网络应用程序有相当多的经验,但从未做过客户端服务器游戏。任何从哪里开始的想法将不胜感激。

最佳答案

许多实时游戏,例如第一人称射击游戏,基于 UDP 编写了自己的自定义协议(protocol)。

过去,非实时游戏通常会直接通过 TCP 编写自己的协议(protocol),但现在非实时游戏使用 HTTP 已经很常见了。虽然 HTTP 最常在浏览器中用于承载 HTML 页面,但它实际上足够通用,可以用于几乎所有需要 RESTful 属性的服务器-客户端情况。使用POST创建,GET读取,PUT更新,DELETE删除,你就得到了整个CRUD;使用 URL 来标识资源;和 cookie 来跟踪状态; HTTP Auth 用于身份验证;和 HTTPS 以防止窥探。 Websockets 将服务器发起的推送添加到 HTTP 协议(protocol)中。使用 HTTP 的优点是它的行为易于理解且标准化(因此,有许多高质量的预编写模块支持该协议(protocol))。另一个优点是 HTTP 与语言和设备无关,因此将游戏移植到浏览器或其他平台在网络访问方面应该变得相当简单。 HTTP 还具有易于理解和良好支持的技术,可以让您的游戏扩展、负载平衡、缓存等,这是您编写自己的应用程序层协议(protocol)所无法获得的。

很少有必要也不建议开发自己的应用程序协议(protocol),但如果需要,您可以直接通过 TCP 编写自定义应用程序层协议(protocol)。这通常是高度特化的,因此在不知道游戏类型及其网络要求的情况下,我无法告诉您是否可以从 TCP 级框架中受益。

关于java - 平板电脑的客户端服务器框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14670885/

相关文章:

Nginx 反向代理 WebSocket 超时

php - HTML5 Websocket 向服务器发送同步数据

java - 自定义日期选择器,有几年可供选择

Java - 如何获得独立于系统日期的当前日期?

objective-c - 删除 subview 后,包含 NSOpenGLView 的 NSView 不会重绘

iphone - NSMutableArrays

java - 如何编写XStream转换器,通过转换为中间对象进行读写?

java - Vaadin Grid 如何在列中换行长文本

iphone - 我使用 SD 图像构建我的应用程序,如何支持 HD?

javascript - 如何在客户端(浏览器)使用uWS?