2014-06-07 32 views
8

我在我的Mac的OS X 10.9.Here運行節點服務器上的代碼是不能在Mac上從不同的設備訪問節點服務器的本地網絡

var http = require('http'); 

http.createServer(function (request, response) { 
    response.writeHead(200, {'Content-Type': 'text/plain'}); 
    response.end('Hello World\n'); 
}).listen(3000, '0.0.0.0'); 

console.log('Server running at http://192.168.1.120:3000/'); 

我可以在我的Mac訪問服務器使用Safari在http://192.168.1.120:3000/。但是當我用我的iPhone訪問服務器時,它失敗了。 我的Mac的防火牆已關閉,我的iPhone與Mac使用的是同一WiFi。

+0

Mac上的防火牆是否打開? iPhone真的使用WiFi而不是3G? –

+0

@JoachimIsaksson防火牆關閉,iPhone正在使用WiFi。 –

+0

你確定你的iPhone在你的網絡中看到你的Mac嗎?您可以使用[Fing](https://itunes.apple.com/en/app/fing-network-scanner/id430921107?mt=8)等應用程序來檢查此問題,以便Ping您的Mac。 –

回答

1

由於低信譽的回答。我不確定這是否解決了您的問題。

首先,我注意到了監聽功能中的地址,並且向控制檯輸出的內容有所不同。其次,如果節點在本地運行在您的計算機上,則您需要連接到計算機的IP,而不是由節點服務器提供的IP。我相信Mac對終端有一個ifconfig命令。這應該會讓您恢復網絡上的計算機IP。

我複製了你的代碼,並從listen函數中刪除了'0.0.0.0'。然後,我可以啓動服務器並通過手機連接到它(使用計算機的IP)。當然,這是在運行Arch的MacBook上,並使用Note III進行連接。

希望這會有所幫助!

相關問題