0

我想用多个连接测试我的 engine.io 服务器。我正在尝试循环打开套接字,但输出只有一个套接字。

在 socket.io-client 中,我添加forceNew: true并修复了该问题,但不适用于 engine.io-client。

for (var i=0;i<10;i++){
    var socket = require('engine.io-client')('ws://localhost');
    socket.on('open', function(){

        console.log('socket opened : '+socket.id);

        socket.on('message', function(data){
          console.log('data is '+data);
        });

        socket.on('close', function(){
          console.log('socket closed : '+socket.id);
        });
    });
}
4

1 回答 1

0

使用 socket.io-client,您必须设置multiplex: false.

它为给定的 URL 创建一个新的 Manager,并尝试将现有的 Manager 重用于后续调用,除非以 false 传递 multiplex 选项。传递此选项等效于传递“强制新连接”:true。

更多信息:http ://socket.io/docs/client-api/

但是,“engine.io-client”似乎没有这样的实现,我认为也不会有。

构建实时应用程序的推荐框架是 Socket.IO,因为它为现实世界的应用程序提供了基本功能,例如多路复用、重新连接支持等。

来自:https ://github.com/Automattic/engine.io

于 2015-06-28T21:48:00.237 回答