首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

怎么知道webrtc的数据是走的中继还是走的p2p

发布网友

我来回答

2个回答

热心网友

吐槽, 你的分类错了, 导致不能贴代码。
github:

priologic/easyrtc
webRTC/webRTC.io

自己开发推荐使用priologic/easyrtc

只是玩玩 对于webRTC.io使用简单

npm install webrtc.io

Client
<video id="local" autoplay="autoplay"></video>
<video id="remote" autoplay="autoplay"></video>

<script src="/webrtc.io.js"></script>
<script>

// note: make sure hostname available to all connecting clients
// (ie. probably not `localhost`)
rtc.connect('ws://yourserveraddress:8001');

rtc.createStream({"video": true, "audio":false}, function(stream){
// get local stream for manipulation
rtc.attachStream(stream, 'local');
});

rtc.on('add remote stream', function(stream){
// show the remote video
rtc.attachStream(stream, 'remote');
});

// more rtc callbacks are available
</script>

Server

var webRTC = require('webrtc.io').listen(8001);
//then a bunch of callbacks are available

热心网友

你测试的场景是1对1.

简单的说,一个 Peer 发起一个Call. 由于NAT 的缘故,他会先请求 TURN Server 服务器查询自己的公网IP地址。如果有公网IP地址,对方也有公网IP地址,就可以愉快的走P2P了。这个场景信令走了Could上面的TURN Server。建立了链接。而Media Data 没有走Cloud. 这就是你说的走P2P.

如果其中的任何一个Peer没有公网地址,就建立不了链接。会把请求发送给STUN Server. STURN Server 是部署到Cloud上的.他永远有公网IP地址,它是可触答的。而STURN Server是要负责转发media data的。这就是你说的走中继。

那怎么判断呢: chrome 支持日志诊断的,要看日志里面有没有对应的公网IP地址。

你可以看看:

网页链接

还有一片关于WebRTC框架的介绍:

网页链接

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com