私はLANネットワークを自動的に交換するアンドロイド上のアプリケーションを開発しています。私はいくつかのポートで接続をリッスンするサーバーを持っています。 localhostにそのアドレスをバインドすると、サーバーをリセットしてもう一度起動する手間が省かれますか?サーバをローカルホストにバインドすると、ネットワーク変更後にリセットする必要はありませんか?
0
A
答えて
1
私は、localhostにバインドするかどうかを尋ねているのは、使用可能になったばかりの新しいインターフェイスに対応するためにアプリケーションを再バインドする必要がなくなっていることです。
短い答えはノーです。 localhost
にバインドすると、ループバックインターフェイスにバインドされていることを意味します。ネットワークの変更が発生した場合(Wi-Fi接続の場合など)、ループバックインターフェイスは影響を受けず、新しいインターフェイスを取得するために再バインドする必要があります。
はいくつかのアイデアは、ここを参照してください:Detect a new network connection (linux-server) and it's status in java
私はあなたが新しいインターフェイスがあるかどうかを確認するように頻繁NetworkInterface.getInterfaceAddresses()ごとにポーリングする必要があると思います。
1
Localhostはネットワークの変更時でも使用でき、問題はありません。多くのサービスとアプリケーションは、プロセス間通信(メディアプレーヤーなど)にこのサービスを使用しており、安全です。