我一直在尝试在网站上制作多人应用程序一段时间。我想从一个基本的聊天系统开始。我做了一个,但是太慢了。在HTML页面上,它通过AJAX将消息发送给PHP应用程序,该应用程序将消息保存到文本文件中。然后回到HTML文件上,它每3秒就不断检查文本文件。这是非常缓慢和不可靠的。所以我寻找更好的方法来做这件事。我找到Node.js并将其与Socket一起使用。IO和express来创建更快的聊天应用程序。但它只适用于本地主机,我不知道如何在网站上实现它。所以我继续寻找并发现了WebSockets。这是如此令人困惑,似乎没有什么支持。我很困惑,为什么网站上的应用程序可以实时提供这么少的选择。这是如何做到的呢?我错过了做这件事的方法吗?如果你能帮我,那就太好了。
- 插座。IO已经在底层使用websockets了。你的聊天应用程序不需要使用原始的websockets。
- 你正在正确的轨道上使用套接字。
- 在浏览器中构建多人游戏对于初学者来说是一项非常困难的任务。但这就是为什么学习它很好!我建议使用图形库(快速谷歌给了我这个:http://www.pixijs.com/)。
总体架构应该是这样的:
- 用户进入你的服务器并收到一个网页(.html),其中包含他们玩游戏所需的javascript和画布。这是"客户端",因为它都运行在每个用户计算机上的web浏览器上。
- web页面运行javascript,使用socket.io与node.js服务器通信。这就是"服务器端"。服务器的工作是协调玩家数据(谁是谁,他们在游戏中的位置,谁在做什么等等),并跟踪游戏状态。基本上,这就是游戏的实际所在,有点像服务器上的大富翁棋盘,而客户端实际上只负责向玩家显示棋盘(在HTML5画布上绘制)并将玩家输入发送给服务器。
教程:
- 使用谷歌
- 。试着直接搜索"javascript game tutorial"。尝试所有出现的教程。如果某些东西需要一段时间才能启动和运行,那么放弃它并转移到另一个。 一开始做一些简单的小事,直到你开始了解整个过程是什么样的。例如:https://developer.mozilla.org/en-US/docs/Games/Workflows/2D_Breakout_game_pure_JavaScript还记得玩过像Pong这样的超简单游戏吗?首先尝试着编写这样的游戏。顺便说一下,聊天系统是一个很好的开始,因为它涵盖了如何启动和运行服务器,如何获取页面,如何发送数据的基础知识。
至于让一些东西在服务器上运行,其他人可以连接到它…看看这个:让你的朋友带着他们的笔记本电脑来你家,启动你的node.js聊天服务器,告诉他们你的IP地址,让他们在浏览器中访问"http://YOURIPADDRESS:8000"——他们将连接到你的node.js服务器!
让它在托管提供商上运行有点复杂,可能不值得在这个阶段麻烦。您将在接下来的过程中了解更多。
插座。IO不仅在本地主机上工作。您需要一台服务器来运行您的应用程序。我强烈建议不要担心这个谜题,因为如果你是一个全新的人,它会有些复杂。准备好了再来这部分。
对于游戏开发,我推荐使用Phaser。它有一切你需要开始和伟大的文档。
http://phaser.io