2012-06-22 61 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