Socket.IO客户端无法在3g / 4g连接上正常工作

时间:2018-11-01 13:53:12

标签: websocket socket.io intermittent 3g-network

我一直在网上搜索有关3g / 4g网络上的socketio客户端遇到的问题。它似乎可以连接,但不能保持长时间连接,它可以保持连接约60秒钟,然后断开连接,并在重新连接尝试事件触发时再次连接,但会重新发生上述行为。

有人知道为什么会发生或如何解决吗?

谢谢!

这里有一个我用来启动套接字的代码示例:

var socketOpts = { 
                        reconnect: true,
                        reconnectionDelayMax : 2500,
                        timeout : 10000,
                        transport: ['polling','websocket']
                     };

    socket = io.connect( $scope.socket_addr, socketOpts );

    showMessage( true, "Aguardando conexão com o servidor!", true );

    /* Abaixo estão os eventos que o Socket pode disparar durante o funcionamento do app */

    /* Quando o Socket conectar no servidor */
    socket.on("connect", function() 
    {
        $scope.socket_connected = true;
        /* Agora que o socket já conectou, posso alterar o tempo de ping */
        socket.io.engine.pingInterval = 3000;
        socket.io.engine.pingTimeout = 5000;
        showMessage( false, "", false );
        console.log( "WS conectado" );
    });

1 个答案:

答案 0 :(得分:0)

设置这些选项以延迟重新连接的工作:-)

val opts = IO.Options()
opts.reconnection = true
opts.reconnectionDelay = 2000
opts.timeout = 60000
val socket = IO.socket(url, opts)

或者在离子

socketConf: {
    url: 'http://your.Server.url',
    options: { reconnection: true, reconnectionDelay: 3000, timeout: 60000 }
  }