23
我在我的計算機上構建了一個Node.js Web服務器,使用衆所周知的http-web-server-Node.js :MAC上的Node.js:從另一臺計算機訪問Node.js Web服務器
var http = require('http');
http.createServer(function(req, res){
res.writeHead(200, {'content-type': 'text/plain'});
res.end('It works');
}).listen(3000, '127.0.0.1');
這在運行服務器的計算機上工作(如預期)。
我想從同一局域網中的另一臺計算機訪問服務器。在運行服務器的計算機(Apple MacOSX)的終端上使用ifconfig
,我得到:192.168.0.6
。
所以,在我的其他電腦,我打開瀏覽器並連接到http://192.168.0.6:3000
,但我得到:
Oops! Google Chrome could not connect to 192.168.0.6:3000
我的最終目的,是爲了能夠使用我的智能手機連接到服務器。
任何幫助將受到歡迎。如有必要,請不要猶豫詢問更多細節。
感謝提前:)
哇!非常感謝Vadim,它可以工作(即使在我的智能手機中)。你能否提供更多細節(如果可能的話)? – htaidirt
你的機器有幾個網絡接口。你可以通過執行'ifconfig'命令來看到它。通過將'127.0.0.1'設置爲僅將您的node.js服務器綁定到回送接口。這個接口只能從運行的機器上訪問。 '0.0.0.0'是所有可用接口的別名。你也可以將你的服務器綁定到另一個選擇的接口,如'192.168.0.6',但在這種情況下,它不應該被'http://127.0.0.1:3000'訪問。 –
謝謝瓦迪姆。現在我更多地瞭解它是如何工作的。事實上,當我將服務器綁定到'192.168.0.6'時,它在訪問這個地址時起作用,但不是'localhost'。再次感謝。 – htaidirt