Перейти к содержанию

Использование UDP или TCP транспорта для WebRTC

В сборке 2.6.21 добавлена возможность использования UDP или TCP транспорта для публикации или воспроизведения WebRTC при помощи опции FPWCSApi2StreamOptions.transport. Опция указывается при создании потока и может принимать следующие значения:

typedef NS_ENUM(NSInteger, kFPWCSTransport) {
    kFPWCSTransportDefault,
    kFPWCSTransportUDP,
    kFPWCSTransportTCP
};

Здесь

  • kFPWCSTransportUDP включает UDP транспорт
  • kFPWCSTransportTCP включает TCP транспорт

Если опция не указана, используется транспорт, заданный в настройках сервера.

Пример использования в приложении на базе Objective C фреймворка

code

FPWCSApi2StreamOptions *options = [[FPWCSApi2StreamOptions alloc] init];
options.name = [self getStreamName];
...
options.transport = _useTCPTransport.control.on ? kFPWCSTransportTCP : kFPWCSTransportUDP;
NSError *error;
_localStream = [_session createStream:options error:&error];
...

Пример использования в приложении на базе Swift фреймворка

code

let options = FPWCSApi2StreamOptions()
options.name = publishName.text
...
options.transport = tcpTransport.isOn ? kFPWCSTransport.fpwcsTransportTCP : kFPWCSTransport.fpwcsTransportUDP;
do {
    try publishStream = session!.createStream(options)
} catch {
    print(error);
}