SkyWayのシグナリングサーバは、なりすまし防止の為、同じPeerId(Peer認証を利用している場合は同じcredential)を使用したクライアントは同時に複数接続出来ない仕様となっています。
その為、ネットワークの切断等で前のセッションがきれいに終了せず残っている場合は、一定期間、再接続することが出来ません。これが原因で再接続に失敗した場合、クライアントには以下のエラーメッセージが表示されます。
PeerId "*" is already in use. Choose a different peerId and try again.
これを回避するためには以下の対応が必要になります。
- Peer認証を利用していない場合
なりすまし防止の観点から回避策はありません。
すぐに再接続する場合は、PeerIdを新しいIDに変更して、new Peer()を実行してください。 - Peer認証を利用している場合
credentialを更新しnew Peer()を実行すれば、古いセッションが切断されすぐに再接続が可能です。
credentialの更新方法については 認証サンプルのREADME(全体の認証フロー1~5) をご覧ください。
コメント
0件のコメント
記事コメントは受け付けていません。