質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

Q&A

解決済

1回答

919閲覧

SkyWay: Error: Failed to send to "..."

olee46

総合スコア32

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

0グッド

0クリップ

投稿2017/12/23 00:31

###困っていること:
SkyWayのアプリケーション実行中にエラーが出るが、その原因がわからない

###エラーメッセージ(Chromeのコンソールより)

skyway-latest.js:420

SkyWay: Error: Failed to send to "DD8aXXnSx3FwcAjm". Please make sure the peerId is correct.
at Socket.<anonymous> (skyway-latest.js:7382)
at Socket.EventEmitter.emit (skyway-latest.js:1315)
at Socket.<anonymous> (skyway-latest.js:8691)
at Socket.Emitter.emit (skyway-latest.js:585)
at Socket.onevent (skyway-latest.js:4930)
at Socket.onpacket (skyway-latest.js:4888)
at Manager.<anonymous> (skyway-latest.js:5135)
at Manager.Emitter.emit (skyway-latest.js:585)
at Manager.ondecoded (skyway-latest.js:4025)
at Decoder.<anonymous> (skyway-latest.js:5135)

###JSコード

javascript

1/** 2[自分] 部屋に参加する 34[ルーム既存メンバー] すでに参加しているメンバーにpeerJoinイベントが発生 56[ルーム既存メンバー] peerJoinイベントで自分の参加している部屋のメンバーのカウントを+1 78[ルーム既存メンバー] メンバーカウントが参加可能最大人数を超えた場合は、参加したユーザー([自分])に "abort" を送信 910[自分] "abort" を受信したら、その部屋から退室し次の部屋へ。 → ループ 11 12とすれば、クライアントのみでも可能ではないでしょうか? 13 14ポイントは、メンバーカウントは自分が参加した以降のメンバーの数であること。 15これにより、1つのルームのメンバーが複数人いたとしても、 16それぞれ管理するメンバーカウントは古い人が最大で以降新しいメンバーになるにつれ少なくなりますので、 17”最大人数越え”と判定するのは1人だけで、"abort"が送信されるのも1回のみとなります。 18**/ 19 20const peer = new Peer({ 21 key: 'a0017750-87b9-4a74-90a9-836e4b5e52b4', 22 debug: 3 23}); 24 25let room = null; 26let roomCount = 1; 27let roomName = 'room' + roomCount; 28let roomMemberCount = 0; 29 30const MAX_ROOM_NO = 1; 31const MAX_ROOM_MEMBERS = 2; 32 33// show my id 34peer.on('open', function(id){ 35 $('#myId').text(id); 36}); 37 38// click '自動入室' btn 39$('#autoJoin').click(function(){ 40 autoJoinRoom(); 41}); 42 43// click '退室' btn 44$('#leave').click(function(){ 45 leaveRoom(); 46}) 47 48/** function defs **/ 49function autoJoinRoom(){ 50 leaveRoom(); 51 joinRoom('room' + roomCount); 52} 53 54function leaveRoom(){ 55 if(!room){ 56 return; 57 } 58 room.close(); 59 toLog('left: ' + roomName); 60} 61 62function joinRoom(roomName){ 63 room = peer.joinRoom(roomName); 64 65 room.on('open', function(){ 66 roomMemberCount++; 67 room.send(roomMemberCount); 68 toLog('joined: ' + roomName); 69 }) 70 71 room.on('peerJoin', function(id){ 72 roomMemberCount++; 73 room.send(roomMemberCount); 74 if (roomMemberCount > MAX_ROOM_MEMBERS) { 75 room.send({abort: id}); // send message as an object 76 } 77 78 }) 79 80 room.on('peerLeave', function(){ 81 roomMemberCount--; 82 room.send(roomMemberCount); 83 }) 84 85 // receive msg 'abort:myId' 86 room.on('data', function(msg){ 87 if (msg.data.abort == peer.id) { 88 toLog('failed to join: room' + roomCount); 89 roomCount++; 90 toLog('roomCount = ' + roomCount); 91 if (roomCount <= MAX_ROOM_NO) { 92 autoJoinRoom(); 93 } else { 94 leaveRoom(); 95 toLog('failed to join a room'); 96 } 97 } else { 98 toLog('ID:' + msg.src + '< ' + msg.data); 99 } 100 101 }) 102} 103 104function toLog(msg){ 105 $('#log').append(msg + '<br>'); 106}

###使用環境

  • localhost(XAMPP)
  • Chrome v.63

###補足

  • 接続中のpeer一覧にエラーメッセージ内のpeerIDはありません
  • P2Pでメッセージを送ろうとはしていないので、なぜメッセージが出るかがわかりません
  • コンソールのエラーメッセージから、スクリプトのどの行でエラーを出しているのか不明です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちらのソースを実行してみましたが、同様のエラーが出ました。
原因の特定はできていませんが、APIキーを変更するとエラーは出ませんでした。
別のAPIキーを取得し、APIキーを変更して試してみてください。

投稿2017/12/23 02:24

sublimer

総合スコア403

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

olee46

2017/12/23 02:41

迅速な回答、ありがとうございます!APIキーを変更したら直りました!
sublimer

2017/12/23 02:42

直ってよかったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問