我被的WebRTC而感到兴奋,当我听说这件事最初。 这听起来像的WebSockets,但没有一台服务器。 不幸的是,所有的教程我已经能够找到强调视频和和的WebRTC的音频方面。 我无法找到有关发送浏览器之间的文本/数据/ JSON什么。 你能不能帮我写了各种各样的简单的Hello World,只是从一个浏览器的一些数据发送到另一个WebbRTC?
Answer 1:
这是一个在黑暗中刺,但最新的Web API编辑草案DataChannel
接口作为的一部分, 对等网络数据API 。
然而,目前的工作草案没有这个API,所以它可能是非常新的尚未得到执行。
Answer 2:
DataChannel现在已经在Firefox(18岁以上)和Chrome(25+)来实现,但它仍然是初期。
欲了解更多信息,请参阅HTML5岩石文章开始支持WebRTC 。
Answer 3:
此功能尚未加入任何航运的WebRTC实现来实现。 正如其他海报指出,现在有最新的WebRTC编辑草案DataChannel API,但是这方面的协议尚在制定上。 希望看到这个API今年住在Chrome和Firefox之后。
Answer 4:
这是一个老问题,但因为我开始学习的WebRTC,我将试图回答这个问题。
首先,一些误解:
这听起来像的WebSockets,但没有一台服务器
没有办法,任何数据都可以的WebRTC同行之间之前的一些信息被转移(媒体会话管理,节点的网络配置/多媒体功能)已被正确交换和协商。 要做到这一点,你需要一台服务器和信令 (这不是的WebRTC的一部分:你可以实现你想要的方式)。
当信令完成后,你需要创建RTCPeerConnection像这样的东西:
if (navigator.webkitGetUserMedia) {
RTCPeerConnection = webkitRTCPeerConnection;
} else if(navigator.mozGetUserMedia){
RTCPeerConnection = mozRTCPeerConnection;
RTCSessionDescription = mozRTCSessionDescription;
RTCIceCandidate = mozRTCIceCandidate;
}
然后:
var connection = new RTCPeerConnection(servers);
在这之后您可以将您的数据信道添加到该PeerConnection等:
var dataChannel = connection.createDataChannel("channelName",{ reliable: true });
当做到这一点,你只需调用sendChannel.send('Any data you want');
这将发送给您想要的任何数据。
如果有什么事情,我发现这本书真正有用的 。 它留下了很多悬而未决的问题,但对于第一次启动是好的。
Answer 5:
我相信马特已经知道,但对于谷歌嘉宾:是的,你可以,期运用DataChannels。
在你身边:
channel = somePeerConnection.createDataChannel("a Label");
channel.onopen = function() { channel.send("any thing") };
另一方面:
somePeerConnection.ondatachannel = function (evt) {
evt.channel.onmessage = function (evt) {
alert( evt.data );
};
};
看到这个例子:
- http://www.w3.org/TR/webrtc/#examples
- https://hacks.mozilla.org/2012/11/progress-update-on-webrtc-for-firefox-on-desktop/#file-datachannels-js-LC12
Answer 6:
http://peerjs.com/在不断发展,并为您喜欢的语法浏览器实例之间的P2P数据传输的WebSocket
Answer 7:
如贾斯汀所示,协议和API仍然被确定下来; 在最新的IETF我提交了草案的JS API下方的次要协议。 最终的形式可能会非常接近在编辑器中的草案目前的提案,但你可能需要等待的“onopened”从接收的一面。
该API是仿照WebSocket的API,以缓解从WebSocket的实施DataChannels移动代码,尽管WebSocket的不是所有的项目结转(如URL),显然DataChannel在具有不可靠的或做的WebSockets增加了一些能力不部分可靠的数据。