Использование PeerConnection.createDataChannel() в Android

Я построил webrtc для Android и включил файл JAR в свой проект. Я хочу прикрепить канал данных к моему объекту PeerConnection. В Интернете мы делаем следующее в javascript:

sendChannel = pc.createDataChannel("sendDataChannel", {reliable: true});

или же

sendChannel = pc.createDataChannel("sendDataChannel", {reliable: false});

где pc - это PeerConnection.

Я хочу сделать то же самое в Java на Android, используя собственный код webrtc. У меня мало путаницы. Глядя на файл Jar в eclipse, я увидел, что метод createDataChannel объекта PeerConnection принимает два аргумента типа String и Init.

PeerConnection.createDataChannel(String, Init)

Я не мог понять, что я должен поставить во второй аргумент. Я нашел документацию по WebRTC для веб-приложений. Я видел следующий черновик документа WebRTC, но не мог понять ясно.

http://www.w3.org/TR/webrtc/

Было бы полезно, если бы кто-нибудь смог привести небольшой пример того, как его следует использовать.

В настоящее время я пытаюсь сделать это:

DataChannel dc = this.pc.createDataChannel("sendDataChannel", new DataChannel.Init());

2 ответа

Решение

Вы должны создать экземпляр Init и манипулировать открытыми свойствами, прежде чем передать его в createDataChannel: https://code.google.com/p/webrtc/source/browse/trunk/talk/app/webrtc/java/src/org/webrtc/DataChannel.java#35

Если вы не нашли там "надежного", то это потому, что это больше не работает. Смотрите maxRetransmits и maxRetransmitTimeMs.

Попробуйте создать новый Init и назначьте ему идентификатор, если хотите, в противном случае просто передайте новый Init() во втором аргументе, он будет работать.

Другие вопросы по тегам