多人游戏的jQuery替代品?

时间:2014-11-28 07:16:27

标签: javascript jquery ajax node.js

首先,我不是要求任何代码或类似的东西。

我需要的是一些建议。

我正在创建一个轮盘游戏,我的轮盘游戏中的所有内容都基于jQuery。

然而,众所周知,jQuery是客户端,因此我考虑使用AJAX将一些细节发送回服务器,从服务器发送到用户浏览器,这样我就可以让这个轮盘游戏以“多人”的方式运行。 ..但问题是我认为不可能将轮盘赌轮动画发送到服务器并返回用户浏览器,所以我对此感到有点困惑!

在我的研究中,我遇到了一些关于一起使用node.js和jquery的信息(旧的)!我不知道这是可能的,或者在node.js中使用我的jquery代码是多么容易,因为我之前从未使用过node.js ..

所以我的问题是:

  • 根据我上面提供的信息和我的要求,我有哪些选择?
  • 我可以使用AJAX来实现我想要做的事情,如果有的话,可以使用它 信息会很棒。
  • 如果AJAX不可用,是否可以使用我的jquery代码 node.js实现了我想做的事情?

任何建议都会得到赞赏。

P.S。我不想使用HTML5作为第一我不太了解HTML5,而且,有些设备,浏览器不支持它。

由于

4 个答案:

答案 0 :(得分:1)

最好的方法是使用websockets来确保实时通信。实现的最佳替代方案之一可能是在node.js下使用服务器。从Code School node.js教程中查看此视频:https://www.youtube.com/watch?v=mtDK4jf4RS0其中说明了如何实现实时聊天。你的问题基于同样的问题。

答案 1 :(得分:1)

浏览器中显示的多人游戏有三个部分:

  1. 客户端显示,
  2. 服务器端数据管理,
  3. 客户端 - 服务器通信。
  4. 如果您已经设置了显示技术(jQuery),那么您可能会使用$.ajax()进行客户端 - 服务器通信。但是,用于服务器端数据管理的技术完全取决于您,并且它们不一定与用于显示和通信的技术(意味着客户端发起的传统通信)有任何联系。

    基本上,使用您喜欢的任何类型的服务器技术堆栈。 Node.js可能会做得很好,但还有许多其他可行的选择。他们只需要支持与客户的沟通。


    所以,绝对清楚,你的问题确实没有意义。您可以在客户端使用jQuery,在服务器上使用Node.js,但他们永远不会真正“一起工作”#34;。他们将管理应用程序的完全独立部分,并通过不特定于其中任何一个的协议进行连接。

    对于动画,动画本身只是一个客户端问题。如果你想"同步动画"跨多个客户端,您可以让客户端与服务器通信,但他们只需要发送/接收纯数据。然后根据接收的数据调整客户端动画。

    正如另一张海报所指出的,websockets比常规客户端发起的HTTP请求更适合这种情况。不是因为"动画",而是因为你希望所有的客户同时收到有关投注开始的信息。

答案 2 :(得分:1)

我也在开发一款仅使用javascript的MMO游戏。首先,这里有两种不同类型的javascript。通常的客户端javascript(你已经知道的)和服务器端的javascript(即Node.js)。

在将它们与jQuery的Ajax连接之前,您需要开发客户端和服务器。所以你需要在设计游戏的整体架构之前研究Node.js。

我阅读了许多Node.js教程并观看了很多youtube教程视频但我仍然感到困惑,之后我真的坐下来读了一本很好的教科书,从基础知识解释,如下所示。尝试从当地图书馆获取它。

快速Web应用程序开发了解如何使用Express框架从头开发Web应用程序,Hage Yaapa

Express是现在在Node.js上运行的流行框架。所以值得熟悉Express Framework。一旦你理解了快递应用程序的工作原理(并不那么困难),你就会看到如何像我一样构建你的游戏结构:)

为了让许多客户共享相同的动画,必须有一个同步游戏状态的服务器。在我的理解中,Ajax只能在服务器 - 客户端通信之间进行链接。客户端之间没有连接机制。客户询问服务器轮盘赌的结果是什么号码,并显示相应的动画。

答案 3 :(得分:0)

,您可以一起使用NodeJS和jQuery。

NodeJS是服务器端,这意味着您设置了一个服务器(很多人使用易于使用的Express模块),该模块为客户提供内容为了它。您的服务器端代码可以是支持套接字的任何语言,而不仅仅是NodeJS。但是如果你已经了解JS,那么NodeJS很容易使用。

jQuery是客户端,意味着它由用户的浏览器执行,并且可能有也可能没有服务器端组件(如果它没有&#39 ; t需要它),它可能有一个向服务器端代码发送请求的地方。当它从服务器请求页面时,它可以是静态内容(如您请求index.html时)或通过AJAX请求动态。客户端浏览器代码必须是HTML / CSS / JS(例如,您无法使Firefox或Chrome解释为C)。