2台のデバイスを接続する際に中央サーバーがどのように機能するか知りたいのですが。デバイスアプリケーションの起動時に、IPアドレスやその他の関連情報(ユーザー名)をサーバーに登録する必要があると思います。別のデバイスに接続する場合は、サーバー上の別のデバイスのアドレスを検索する必要があります。おそらくgetリクエストを使用します。次に、ソケットに接続するようにを設定します。デバイスアプリケーションが閉じた場合、サーバーから登録を解除する必要があります。これは正しいです?
質問する
984 次
1 に答える
1
それはかなり正しいです。
一方または両方のデバイスがファイアウォール(NATを含む)の背後にある可能性があるため、実際には相互に直接接続できないと想定する必要があります。そのため、一度他のデバイスにソケットを開くほど簡単ではありません。登録されているアドレスを確認します。ファイアウォールトラバーサル手法(通常はUDPで成功しますが、TCPでは成功しません)を試すか、ファイアウォールの背後にないヘルパー(登録サーバーなどと同じである可能性があります)にすべてを実行させる必要があります。通信したいデバイス間のデータ。
また、登録サーバーが登録をタイムアウトし、クライアントが定期的に登録を更新するようにする必要があります。これは、クライアントがネットワークを終了したり、ネットワークにアクセスできなくなったりしたときに、サーバーで自分自身を登録解除する機会が常にあるとは限らないためです。
于 2012-09-20T16:26:04.887 に答える