Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 同一页上有多个socket.io连接_Javascript_Socket.io - Fatal编程技术网

Javascript 同一页上有多个socket.io连接

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

我可以连接到客户端相同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('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文件提供服务的路径。检查