如何在socket.io和node.js中使用动态端口号?

3
当我使用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服务器上设置一个变量,然后在客户端代码中使用该变量?

目前,我正在使用cookie。

2个回答

1
在最近的 Socket.IO 版本中,你只需要调用 io.connect(),它就会自动发现 URL。

1

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

io.connect(document.location.href);

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接