0
我在本地Mac機上的node.js上運行socket.io。本地主機和服務器之間的socket.io切換
我設置端口轉發
我使用下面的代碼:
socket = io.connect('XXX.XXX.137.143:1337');
socket.on('connect_failed', function(){
$.jGrowl('Connection Failed');
});
socket.on('disconnect', function(){
$.jGrowl('disconnected');
});
socket.on('connect', function() {
$.jGrowl('We are connected ');
});
的IP地址是我的路由器的IP地址。這一切都按預期工作。
但是,如果我在與路由器相同的網絡上運行應用程序,它將無法連接。它的需要:
socket = io.connect('localhost'); // or the ip of the machine.
如何確定我是在同一個網絡上機和交換機的IP設置?
我想:
if (location.hostname === "localhost" || location.hostname === "192.168.1.1")
{$.jGrowl("It's a local client!");
var IPaddress = 'http://192.168.1.6:1337';}
else {var IPaddress = '92.12.137.143:1337';
$.jGrowl("It's a remote client!")
}
這在當地工作,但未能有IP 192.168.1.1 =另一個網絡上。
乾杯
史蒂夫Warby
修復了一個錯字,並增加了保護,防止在同一個套接字上發出多個錯誤(可能不需要,但是這樣做是安全的)。 – jfriend00