2012-06-22 31 views
0

我创建的NodeJS io.socket这里使用的链接聊天应用程序 - http://cestfait.ch/content/chat-webapp-nodejs创建nodeJS聊天应用程序。如何运行

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

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

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

编辑1: 当我尝试布兰登的方法,我得到以下错误。不知道什么是错的。我必须直接在浏览器中运行文件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 
+0

在client.html,http:// localhost:8000中,将localhost更改为运行服务器的PC的本地IP地址。 – Archer

回答

1

这很复杂。

如果你没有一个静态IP地址(你可能没有),这意味着每次你重新连接你的计算机到互联网,你将得到一个新的IP地址,所以你必须每次更新您的代码。

另外,防火墙也存在问题,包括您的开发机器和(wifi)路由器。

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

+0

大多数ISP的静态IP大约是每月5块钱。您也可以运行您自己的云服务器稍微多一点。不知道你对便宜的定义是什么,但这似乎是合理的。 – Jordan

+0

@Jordan我站好了! – ControlAltDel

+0

@ControlAltDel:美国的大多数ISP要求您购买价格适中的“商业级”服务作为支付静态IP的先决条件。静态IP本身并不太昂贵,但是必要的商业级服务通常具有更高的每带宽成本(可能会增加客户服务或连接正常运行时间)。 – apsillers

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之类的工具。

+1

或任何动态DNS服务,如果你不介意它是半公开的。 –

+0

我已经尝试了您的答案,并且我面临的问题已添加到答案中。请参阅。你能帮助我吗?非常感谢。 – Ashwin

相关问题