Клиент Socket.IO не работает должным образом при соединении 3g/4g
Я искал в Интернете проблему, с которой я сталкиваюсь с клиентом socketio в сетях 3G /4G. Кажется, он подключается, но не остается подключенным долго, он остается подключенным в течение примерно 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 ответов
Установка этих опций для задержки переподключения сработала:-)
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 }
}