如何创建cleint / server应用程序

时间:2015-08-11 21:59:51

标签: ajax node.js websocket socket.io server

我一直试图在网站上制作多人游戏应用程序。我想从一个基本的聊天系统开始。我做了一个,但它真的很慢。在HTML页面上,它通过AJAX将消息发送到PHP应用程序,并将其保存到文本文件中。然后回到HTML文件,它每隔3秒不断检查一次文本文件。这非常缓慢且不可靠。所以我找到了更好的方法来做到这一点。我找到了Node.js并将它与Socket.io一起使用并表达以创建一个更快的聊天应用程序。但它只适用于本地主机,我不知道如何在网站上实现它。所以我一直在寻找并发现WebSockets。哪个是如此令人困惑,似乎很少得到支持。我很困惑,那里的网站有哪些应用程序可以实时使用这么少的选项。这是怎么做到的?我错过了这样做的方法吗?如果你能帮助我,那就太好了。

2 个答案:

答案 0 :(得分:-1)

  1. Socket.io已经在引擎盖下使用了websockets。聊天应用程序不需要使用原始websockets。
  2. 使用socket.io和node.js服务器端,你在正确的轨道上。
  3. 在初学者中,在浏览器中构建多人游戏将是一项非常困难的任务。但这就是学习的好理由!我建议使用图形库(快速谷歌给了我这个:http://www.pixijs.com/)。
  4. 整个架构应该是这样的:

    1. 用户转到您的服务器并收到一个网页(.html),其中包含玩游戏所需的javascript和画布。这是“客户端”,因为它们都在计算机上的每个用户的Web浏览器上运行。
    2. 网页运行javascript,它使用socket.io与node.js服务器通信。这是“服务器端”。服务器的工作是协调玩家数据(谁是谁,他们在游戏中的哪个位置,谁在做什么等)并跟踪游戏状态。基本上,这就是游戏实际上的位置,有点像在服务器上使用Monopoly板,而客户端实际上只负责向玩家展示董事会(在HTML5上绘制它) canvas)并将播放器输入发送到服务器。
    3. 教程:

      • 使用GOOGLE 。尝试只是字面上搜索“JavaScript游戏教程”。尝试每一个出现的教程。如果某些东西需要一段时间才能启动并运行,那么就放弃它并转移到另一个。
      • 一开始做简单的小事,直到你开始了解整个过程是什么样的。例如:https://developer.mozilla.org/en-US/docs/Games/Workflows/2D_Breakout_game_pure_JavaScript
      • 还记得玩像Pong这样的超简单游戏吗?尝试先写这样的游戏吧。顺便说一句,你的聊天系统是一个很好的开始,因为它涵盖了如何启动和运行服务器,如何获取页面,如何发送数据等基础知识。

      至于在其他人可以连接到它的服务器上运行并运行...检查一下:让你的朋友来你家带上他们的笔记本电脑,启动你的node.js聊天服务器,告诉他们你的IP地址是,并让它们在浏览器中转到“http://YOURIPADDRESS:8000” - 它们将连接到您的node.js服务器!

      让它在托管服务提供商上运行更加复杂,在这个阶段可能不值得。稍后您将通过继续前进的方式了解更多相关信息。

答案 1 :(得分:-1)

Socket.IO不仅适用于localhost。您将需要一台服务器来运行您的应用程序。我强烈建议不要担心这个难题,因为如果你是全新的,这有点复杂。准备好后回到这个部分。

至于游戏开发,我建议使用Phaser。它拥有您入门所需的一切和​​出色的文档。

http://phaser.io