如何使用socket.io和node.jsdynamic端口#

当我使用socket.io与node.js服务器时,我通常使用以下代码(来自socket.io官方网站)。

<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服务器中设置一个variables,然后在我的客户端代码中使用variables?

现在,我正在使用cookie。

实际上有两个基本选项。 如果您的socket.io客户端与您的页面在相同的地址上运行,请使用:

 io.connect(document.location.href); 

或者,您可以使用模板引擎将数据从服务器注入到客户端页面。

在最新版本的Socket.IO中,你可以调用io.connect()来自动发现URL。