私はProjectRTCを使用しており、Firefox と Android クライアントで正常にテストしました。サーバーコードをリモートサーバー(digitalocean)に配置し、自宅のPCからアクセスします。
ただし、ホーム ADSL、または Firefox を搭載した PC 用の (より遅い) ADSL と Android クライアント用の 3G/4G ネットワークを使用してテストするまでは、すべて正常に動作します。
モバイル経由で PC に 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に失敗しました」という運がありませんでした。
私もこれを読もうとしましたが、私が探しているものではないと思います。これをモバイル接続で動作させる方法はありますか?
ご関心をお寄せいただきありがとうございます。