具有3G/4G网络的ProjectRTC/webRTC
ProjectRTC/webRTC with 3G/4G Networks
我正在使用ProjectRTC,并成功地在Firefox和android客户端上进行了测试。我把服务器代码放在远程服务器(digitalocean)上,通过我的家用电脑访问
然而,一切都很好,直到我用家庭ADSL测试它,或者用Firefox的电脑用(较慢的)ADSL,安卓客户端用3G/4G网络测试它。
如果我通过手机(使用热点选项)为我的电脑使用3G/4G网络,它会尝试连接到客户端,但我收到错误javascript控制台上的"Ice Failed"。
我试图在上添加一个TURN客户端
public/javascripts/rtcClient.js
添加以下内容:
var localId,
config = {
peerConnectionConfig: {
iceServers: [
/*test*/
{
"username":"e7db750a-2fcc-40c6-8415-cab22743a68a",
"url": "turn:turn1.xirsys.com:443?transport=tcp",
"credential":"287ae254-9380-4f81-af88-e1cc9ed27eb0"
},
{
"username":"e7db750a-2fcc-40c6-8415-cab22743a68a",
"url": "turn:turn1.xirsys.com:443?transport=udp",
"credential":"287ae254-9380-4f81-af88-e1cc9ed27eb0"
},
/*end test*/
{
"url": "stun:stun.l.google.com:19305"
}
]
},
peerConnectionConstraints: {
optional: [{
"DtlsSrtpKeyAgreement": true,
}]
}
},
peerDatabase = {},
localStream,
remoteVideoContainer = document.getElementById('remoteVideosContainer'),
socket = io();
socket.on('message', handleMessage);
socket.on('id', function(id) {
localId = id;
});
但我仍然没有运气,再次被"ICE失败"。
我也试着读过这篇文章,但我不认为这是我要寻找的。你有什么想法让它与移动连接配合使用吗?
提前感谢您的关注!
不要对ICE字符串进行硬编码。XirSys ICE字符串是时间敏感的,将在30秒后过期。您需要为每个连接请求一个新的ICE字符串。这可能会解决你的问题,也可能不会,但它至少会排除ICE字符串是问题所在。
谨致问候,Lee
相关文章:
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- webRTC错误未定义配置
- 通过webrtc-pubnub传递上传的图片
- WebRTC: Firefox Enable IPv6
- 在服务器端实现webrtc
- 在webrtc中实时控制视频发送帧速率
- 具有3G/4G网络的ProjectRTC/webRTC
- WebRTC-是否可以将浏览器代理视频从源发送到接收器
- Webrtc和socket.io:createanswer()总是有一个错误.为什么?我的代码连接了两个对等体,但其中只
- WebRTC实时视频流node.js
- WebRTC,socket.io,node.js:无法读取属性'发射'的未定义
- 在WebRTC中获取1:1宽高比视频失败
- 使用RecordRTC录制的WebRTC视频在IE和Safari中显示错误
- 如何在WebRTC中始终保持1:1的纵横比视频
- webrtc 中的多对等连接
- WebRTC onicecandidate :我只用 sdpMid=audio 获得 ICE 候选,但不适用于视频
- TypeError: 'getUserMedia' webrtc adapter.debug.js
- WebRTC:确定选定的ICE候选者
- Ziggeo,WebRTC无法读取视频文件
- WebRTC RTCPeerConnection not established