Javascript 同一页上有多个socket.io连接
我可以连接到客户端相同IP和端口上的多个资源吗 我有以下代码-Javascript 同一页上有多个socket.io连接,javascript,socket.io,Javascript,Socket.io,我可以连接到客户端相同IP和端口上的多个资源吗 我有以下代码- var myIP = "192.168.1.1"; var myPort = "8080"; A = io.connect(myIP+':'+myPort,{resource: 'A/socket.io'}); B = io.connect(myIP+':'+myPort,{resource: 'B/socket.io'}); A.on('connect',console.log('A connected'); B.on('co
var myIP = "192.168.1.1";
var myPort = "8080";
A = io.connect(myIP+':'+myPort,{resource: 'A/socket.io'});
B = io.connect(myIP+':'+myPort,{resource: 'B/socket.io'});
A.on('connect',console.log('A connected');
B.on('connect',console.log('B connected');
A.on('message',function(d){console.log('A: '+ d);}
B.on('message',function(d){console.log('B: '+ d);}
我正在myIP:myPort
上运行。
它将A和B上的连接代理到各自的套接字io服务器
如果在单个脚本上运行上述代码,浏览器将忽略第二条语句(它不会向资源B发出请求)
A和B的on(message)
回调都接收到实际属于A的相同数据
如果我在两个不同的html页面(一个是A,另一个是B)中运行上述代码,它们工作正常,我可以分别获得这两个页面的数据。尝试以下方法:
A = io.connect(myIP+':'+myPort, {resource: 'A/socket.io', 'force new connection': true});
B = io.connect(myIP+':'+myPort, {resource: 'B/socket.io', 'force new connection': true});
(是的,我删除了一些引号)我还要提到名称空间。。。很多时候,您试图做的是在每个套接字的基础上处理重新连接事件,名称空间可以为您完成这项工作。它们的主要优点是不需要每个浏览器都有一个连接,这意味着它们不会影响浏览器的每域6个连接的限制 要连接,只需执行以下操作:
socket=io(“/namespace”)
资源的作用是什么?@RandallB:它现在被称为path
。这是您希望为socket.io静态JS文件提供服务的路径。检查