0

我使用此处的链接创建了 nodeJS io.socket 聊天应用程序 - http://cestfait.ch/content/chat-webapp-nodejs

我可以在我的笔记本电脑上运行它。我没有找到关于谷歌如何从其他机器连接到 nodeJS 应用程序的任何帮助。我有另一台笔记本电脑,我通过 wifi 连接。

现在我真的很想知道如何将另一个用户从另一台笔记本电脑连接到我的第一台笔记本电脑上运行的 nodeJS 服务器。

我将非常感谢您的帮助。任何广义上的帮助也可以。

编辑 1: 当我尝试 Brandon 的方法时,出现以下错误。不知道出了什么问题。我必须client.html直接在浏览器中运行该文件。运行http://192.168.43.244:8000/client.html会引发错误。

C:\node>node server.js
   info  - socket.io started

C:\node\node_modules\socket.io\lib\manager.js:0
(function (exports, require, module, __filename, __dirname) { /*!
^
RangeError: Maximum call stack size exceeded
4

2 回答 2

1

情况很复杂。

如果您没有静态 IP 地址(而且您可能没有),这意味着每次将计算机重新连接到互联网时,您都会获得一个新的 IP 地址,因此您必须每次更新您的代码时间。

此外,您的开发机器和(wifi)路由器上的防火墙都存在问题。

最佳解决方案是获取静态 IP。但它并不便宜

于 2012-06-22T16:27:27.303 回答
1

首先,确保 Socket.IO 正在连接到提供 HTML 的服务器。在client.html中,改变:

var socket = io.connect('http://localhost:8000');

var socket = io.connect();

省略主机/端口将导致 Socket.IO 连接到为 HTML 服务的同一主机和端口。

完成后,您可以通过访问从另一台计算机访问服务器http://1.2.3.4:8000,其中1.2.3.4是运行服务器的计算机的 IP 地址。连接计算机和服务计算机需要在同一网络上才能工作;如果您想(暂时)与不同网络上的某人连接,您可以使用类似localtunnel的工具。

于 2012-06-22T16:27:40.610 回答