javascript - 将 Node.js/Socket.io 放到网站上

标签 javascript node.js web socket.io

所以我开始使用 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(平台即服务)解决方案,如 NodejitsuHeroku开箱即用的 Node.js。
  • domain - 为您的网络服务器注册一个人类可读的名称(例如 www.my-game.com)。通常,一旦您获得服务器,就会为其分配一些 IP 地址。域名是它的别名,更容易打字和内存。与您的情况类似,localhost 只是 IP 127.0.0.1 的别名(特殊地址表示本地系统)。

当然,另一种解决方案是在您的本地 PC 上托管应用程序并设置您的路由器以将流量从其外部 IP 转发到您的 PC(假设您的 ISP 为您分配了公共(public) IP)。但随后您将不得不担心您的 PC、路由器和互联网链接始终在线。而且它比使用外部专用托管要慢得多。

关于javascript - 将 Node.js/Socket.io 放到网站上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22267860/

相关文章:

node.js - node js中event.on()和event.once()的区别

node.js - 如何在 Mongoose 中为现有模式定义嵌套对象?

html - 我如何将事件侧边栏的内容居中

javascript - Visual Studio Code 上的 Nashorn

javascript - 带参数的 React(组件)onClick 方法

node.js - 等待 Facebook Messenger 机器人的短信回复

php - Laravel - 如何在没有实例化对象的情况下调用静态函数

javascript - 静音 iframe 中播放的音乐?

javascript - PHP include != JS 加载

javascript - 使这个函数可以防御 null/空字符串等