2016-05-19 10 views
3

私はAndroid WebRTCベースのプロジェクトのシグナリングサーバのための解決策を見つけようとしています。両方のクライアントはAndroidで、どちらも100ヤード以内で互いに近くに位置します。パブリックシグナリングサーバを使用せずにソリューションを動作させたいと思います。私はむしろクライアントの1つにサーバーとしても働かせたいと思っています。WebRTCローカルシグナリングサーバ

私の質問は次のとおりです。 1.どのようにして1台がサーバーになるのですか?すなわち、 - ホットスポットとして設定したり、WiFiダイレクトを使用できますか? 2.#1を達成することができれば、アンドロイドで実行されているシグナリングサーバにとって、良い解決策は何ですか?アンドロイドでnodejsサーバーの1つを実行できますか?

+0

したいですか? – Haven

+0

@Haven - はい。私はネットを越える必要はありません。 –

答えて

3

シグナリングサーバは、単に2人のパーティー間でメッセージを交換する方法です。 WebRTCの場合、これらのメッセージはオファー/アンサーとICE候補です。

これを行うサーバーの種類は自由ですが、手動で行うこともできます。

クライアントの1つをサーバーとして使用することもできますが、そのIPを別の方法で通信する必要があります。たぶん、Wi-Fiダイレクトを使用して、プログラム的に入手してください。

+0

Adrianに感謝します。だから、このシナリオではサーバーが必要ないと言っていますか?私。 - 私は地元のホットスポット上のストレートウェブソケットでwebrtcを使うことができますか?その方法は私のアプリの中でプロセスを維持する? –

+0

私はクライアントのIPアドレスを知っているので、NATをトラバースする必要はありません。だから私がTURN、STUN、ICEの候補者の必要なしにできるかどうか疑問に思っています。 –

+2

メッセージを自動的に転送する必要があるため、サーバーが必要です。しかし、サーバーとクライアントは同じアプリ内にある可能性があります。 –

2

WebRTCを使用すると、シグナリングサーバは、メッセージの転送、情報の交換(SDPパッケージ(createOffer/answer)、交換候補者など)の手助けとなります。

例:GCM(Free)をシグナリングサーバとして使用するか、socket.io、websocket、XMPPなどでNodejsを使用できます。必要なのは、2つのピア間でメッセージを転送することだけです。

このチュートリアルを参照することができます:あなたはインターネットなしで呼び出すことhttp://www.html5rocks.com/en/tutorials/webrtc/basics/

+0

ありがとう@Khoatd、私はシグナリングの目的を理解しています。私の質問は、私のシナリオでは、2つのアンドロイドクライアントがインターネットに接続されていないことを前提にして、サーバーとしての役割を果たすと仮定して、シグナリングを実行するための優れたメカニズムについてより詳しく説明します。 –