所以我开始使用 node.js 和 socket.io 来制作实时网页游戏,但我遇到了一些障碍。
我已经知道如何在我的电脑上安装node.js和socket.io,我可以运行基本的服务器并通过http://localhost:8888/
打开它们。 .
但现在我不明白的是如何将其放到网站上,而且网络上似乎也没有任何内容对此进行解释。显然,互联网上输入相同 URL 的其他人不会看到与我屏幕上显示的内容相同的内容。我如何将它放到网页上,以便访问该 URL 的任何人都可以访问服务器?
我尝试打开端口然后使用 http://<my external IP>:8888
但这是行不通的。一些消息来源似乎说我需要在网站上安装一些东西,但我通过命令提示符在我的计算机上安装了 node.js,所以我不明白这在网站上是如何工作的。我找到了适用于 Linux 的说明,但我运行的是 Windows。
最佳答案
你需要的是:
- 网络服务器 - 用于托管您的游戏。例如,您可以租一辆 EC2 instance来自 Amazon 并在那里安装所有需要的软件(Node.js、数据库等)或使用 PaaS(平台即服务)解决方案,如 Nodejitsu或 Heroku开箱即用的 Node.js。
- domain - 为您的网络服务器注册一个人类可读的名称(例如 www.my-game.com)。通常,一旦您获得服务器,就会为其分配一些 IP 地址。域名是它的别名,更容易打字和内存。与您的情况类似,
localhost
只是 IP127.0.0.1
的别名(特殊地址表示本地系统)。
当然,另一种解决方案是在您的本地 PC 上托管应用程序并设置您的路由器以将流量从其外部 IP 转发到您的 PC(假设您的 ISP 为您分配了公共(public) IP)。但随后您将不得不担心您的 PC、路由器和互联网链接始终在线。而且它比使用外部专用托管要慢得多。
关于javascript - 将 Node.js/Socket.io 放到网站上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22267860/