2011-12-06 5 views
0

私はLANネットワークを自動的に交換するアンドロイド上のアプリケーションを開発しています。私はいくつかのポートで接続をリッスンするサーバーを持っています。 localhostにそのアドレスをバインドすると、サーバーをリセットしてもう一度起動する手間が省かれますか?サーバをローカルホストにバインドすると、ネットワーク変更後にリセットする必要はありませんか?

答えて

1

私は、localhostにバインドするかどうかを尋ねているのは、使用可能になったばかりの新しいインターフェイスに対応するためにアプリケーションを再バインドする必要がなくなっていることです。

短い答えはノーです。 localhostにバインドすると、ループバックインターフェイスにバインドされていることを意味します。ネットワークの変更が発生した場合(Wi-Fi接続の場合など)、ループバックインターフェイスは影響を受けず、新しいインターフェイスを取得するために再バインドする必要があります。

はいくつかのアイデアは、ここを参照してください:Detect a new network connection (linux-server) and it's status in java

私はあなたが新しいインターフェイスがあるかどうかを確認するように頻繁NetworkInterface.getInterfaceAddresses()ごとにポーリングする必要があると思います。

1

Localhostはネットワークの変更時でも使用でき、問題はありません。多くのサービスとアプリケーションは、プロセス間通信(メディアプレーヤーなど)にこのサービスを使用しており、安全です。