我一直在网上搜索有关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" );
});
答案 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 }
}