IOS SDK разрыв соединения

astas

New Member
Здравствуйте

Пробую использовать IOS SDK с RoomApi,

Для создания комнаты и подключения использую FPWCSApi2.createRoomManager - после успешного установки соединения - стримы запускаются.
Проблема возникает если прервать соединение и восстановить его например с Wifi на мобильный интернет.
При этом приходящие стримы зависают на последнем кадре и ни один из методов не вызывается, в консоли появляются логи Offline Offline Online.

roomManager.on(.fpwcsRoomManagerEventDisconnected, callback: )
roomManager.on(.fpwcsRoomManagerEventFailed, callback: )
roomManager.getSession().on(.fpwcsSessionStatusFailed, callback: )
roomManager.getSession().on(.fpwcsSessionStatusDisconnected, callback:)

Также соединение не восстанавливается автоматически.

Есть ли возможность настроить автоматическую установку соединения при обрыве и если нет - то какой порядок действий в такой ситуации - какое событие должно быть сгенерировано при обрыве?

Спасибо.
 

Max

Administrator
Staff member
Добрый день.
Есть ли возможность настроить автоматическую установку соединения при обрыве и если нет - то какой порядок действий в такой ситуации - какое событие должно быть сгенерировано при обрыве?
При разрыве соединения должны сгенерироваться следующие события (на примере приложения Conference):
Code:
    [roomManager on:kFPWCSRoomManagerEventFailed callback:^(FPWCSApi2RoomManager *rManager){
        [self changeConnectionStatus:kFPWCSRoomManagerEventDisconnected];
        [self onUnpublished];
        [self onLeaved];
        [self onDisconnected];
    }];
    
    [roomManager on:kFPWCSRoomManagerEventDisconnected callback:^(FPWCSApi2RoomManager *rManager){
        [self changeConnectionStatus:kFPWCSRoomManagerEventDisconnected];
        [self onUnpublished];
        [self onLeaved];
        [self onDisconnected];
    }];
Также для публикуемого потока в этой ситуации может быть получено событие
Code:
        [publishStream on:kFPWCSStreamStatusFailed callback:^(FPWCSApi2Stream *rStream){
            [self onUnpublished];
            [self changeLocalStatus:rStream];
    
        }];
После того, как разрыв соединения зафиксирован, следует установить новое, как показано здесь
 
Top