【发布时间】:2014-09-29 03:01:16
【问题描述】:
我正在使用 node.js 和 socket.io 进行一些双向数据处理。我想要的是客户端浏览网站时的持久连接。 我使用的是标准
var socket;
socket = io.connect("http://localhost:port");
socket.on('connect', function(data){
console.log("called connect");
console.log(user_id);
socket.emit('init', user_id);
});
这样我将 user_id 分配给该套接字,以后可以使用它有选择地向某些用户发送数据。
我首先在每个网页中插入了这个。
我注意到当我们移动到新页面甚至重新加载时都会调用套接字连接和断开连接。有没有办法避免这种情况并且只调用一次init?
我尝试查看express.js,但找不到任何明显的解决方案。
【问题讨论】:
-
你不能。您可以做的不是实际加载新页面,而是在同一页面上通过
AJAX加载新内容。如果需要,您还可以将套接字保留在当前页面上,并将所有内容加载到iframe中。 -
@Cristy,我可以在同一个端口上运行两个节点进程并通过不同的节点进程提供不同的页面吗?
标签: javascript node.js