2011-12-01 66 views
2

當我使用socket.io與node.js服務器時,通常使用以下代碼(來自socket.io官方站點)。如何在socket.io和node.js中使用動態端口#

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://localhost:3023'); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 
</script> 

正如你所看到的,我很難用端口號編碼我的服務器IP。有沒有辦法在node.js服務器中設置變量,然後在客戶端代碼中使用變量?

現在,我正在使用cookie。

回答

1

實際上有兩個基本選項。如果您socket.io客戶端在同一地址運行作爲您的網頁,使用方法:

io.connect(document.location.href); 

或者,你可以使用一個template engine從服務器到客戶端頁面注入數據。

1

在最新版本的Socket.IO中,您只需調用io.connect()即可自動發現URL。

相關問題