2011-12-01 54 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。