当我将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。
答案 0 :(得分:1)
实际上有两个基本选项。如果您的socket.io客户端在与您的页面相同的地址上运行,请使用:
io.connect(document.location.href);
或者,您可以使用template engine将数据从服务器注入客户端页面。
答案 1 :(得分:1)
在最新版本的Socket.IO中,您只需拨打io.connect()
即可自动发现该网址。