2014-10-14 3 views
0

Я новичок в родной среде WebRTC.Отправка данных JSON по WebRTC

Мне удалось получить источник WebRTC и запустить демо-приложение для Android на основе http://andrii.sergiienko.me/?go=all/building-webrtc-demo-for-android/enter link description here.

Я смог отправлять/получать аудио и видео между двумя устройствами Android в одной локальной сети.

Есть ли способ отправить небольшую полезную нагрузку JSON в это одноранговое соединение?

Я попытался найти его в источнике, и я нашел поддержку для отправки видео и аудио.

спасибо.

+0

вы пробовали RTCPeerConnection? – mido

+0

Да, я посмотрел на него. RTCPeerConnection в настоящее время реализуется только в примере приложения AppRTC, но не в приложении WebRTC. –

+0

Является ли это чистым одноранговым потоком в локальной сети, или есть какой-либо сервер. – umerk44

ответ

1

Ваш поиск WebRTC DataChannels.

API RTCDataChannel WebRTC используется для передачи данных непосредственно от одного партнера к другому. Это отлично подходит для отправки данных между двумя браузерами (Peers) для таких операций, как связь, игры или передача файлов, а также множество других функций.

Это альтернатива для WebSockets:

Это отличная альтернатива WebSockets, потому что ни один центральный сервер не участвует и передачи, как правило, быстрее и нет узких мест. Разумеется, вы можете смягчить переход на резервный ресурс передачи P2P с помощью крючков, которые активируют связь на основе Websockets, если сбой передачи данных через P2P.

Код для справки:

события, определенные вызываются, когда вы хотите отправить сообщение при получении сообщения (включая обработку ошибок). Этот код должен работать в обоих браузерах. Вместо отправки «Hello World» вам просто нужно отправить свою JSON String.

var peerConnection = new RTCPeerConnection(); 

// Establish your peer connection using your signaling channel here 
var dataChannel = 
    peerConnection.createDataChannel("myLabel", dataChannelOptions); 

dataChannel.onerror = function (error) { 
    console.log("Data Channel Error:", error); 
}; 

dataChannel.onmessage = function (event) { 
    console.log("Got Data Channel Message:", event.data); 
}; 

dataChannel.onopen = function() { 
    dataChannel.send("Hello World!"); 
}; 

dataChannel.onclose = function() { 
    console.log("The Data Channel is Closed"); 
}; 

Объект dataChannel создается из уже установленного однорангового соединения. Он может быть создан до или после сигнализации. Затем пройти в метке, чтобы отличить этот канал от других и набора необязательных параметров конфигурации:

var dataChannelOptions = { 
    ordered: false, // do not guarantee order 
    maxRetransmitTime: 3000, // in milliseconds 
}; 

Для получения более подробной информации ознакомьтесь с ссылкой, представленной.

Примеры:

Ссылка на официальную документацию: DataChannels in WebRTC

Ссылка на файл с помощью примера обеспечивает передачу каналов WebRTC данных. File Transfer

Ссылка на популярные варианты использования для каналов WebRTC данных Use Cases

Смежные вопросы