3
public class Main {

    public static void main(String[] args) throws IOException {
        InetAddress myIp = null;

        try {
            myIp = InetAddress.getLocalHost();
        } catch (UnknownHostException ex) {
            System.out.println("Exception cought.");
            System.exit(0);
        }

        System.out.println(myIp);
    }

}

ワイヤレスがオフのときに IP アドレスが異なるのはなぜですか?という簡単な質問があります。
まだ同じコンピューターなのに、なぜ変わるのでしょうか? (これは固有の番号ではありませんか?)

4

5 に答える 5

3

コンピューターの IP アドレスは、接続先のネットワークによって異なります (実際、同じマシンに複数のアダプターがある場合、複数のアダプターがある場合があります)。

したがって、自分のマシンをネットワークの 1 つに接続すると、そのアドレス192.168.10.7192.168.17.12. 接続によっても異なる場合がありますが、実際には少し粘着性がある傾向があります. (DHCP サーバーの構成によって異なります。)

アダプターは固定アドレスで構成できますが、その場合、接続先のネットワークが予約したアドレスでなければなりません。そうしないと、まったく機能しない (「ホストへのルートがありません」) か、ネットワークを使用している別のマシンと競合する可能性があります。

于 2013-07-23T14:48:01.810 に答える
1

IP アドレスは、特定のローカル ネットワーク内のネットワーク アダプタのアドレスです。

異なるネットワークに接続されている場合は異なります。

どのネットワークにも接続されていない場合は、リンクローカル アドレスまたは自動構成アドレスになります。

MAC アドレスは、単一のネットワーク アダプターのハードウェア アドレスであり、変更される可能性はほとんどありません。

于 2013-07-23T14:47:53.023 に答える
1

提供されたコードは、HOSTNAME/IP-Address(xx.xx.xx.xx) を返します。

ホスト名はコンピュータ名です。例: MY-PC で、それに対応する IP を取得します。ネットワークに接続すると、InetAddress.getLocalHost() がネットワーク内の DHCP サーバーに「MY-PC のアドレス (コンピューターの名前) は?」と尋ねると、DHCP は応答します -> 33.44.55.66

接続時と切断時の両方で、次の CMD コマンドを試してください。

\>hostname
MY-PC
\>nslookup MY-PC
44.55.66.77

ネットワークに接続していない場合、次の 2 つの可能性があります。

  1. ホスト名を取得しません (デフォルトは localhost)
  2. ホスト名は取得できますが、ネットワーク上に IP アドレスを返す DHCP サーバーがないため、ループバック - 127.0.0.1 が取得されます。

ネットワーク上のコンピュータをローカルで「呼び出す」場合は、ループバックhttp://www.pcmag.com/encyclopedia/term/57812/loopback-addressを使用します

お役に立てれば

于 2013-07-23T16:10:39.257 に答える
0

いいえ、IP アドレスと MAC アドレスを混同しています。MAC アドレスはハードウェアのシリアル番号です (ただし、特定のチップセットではプログラムで変更される場合があります)。

IP アドレスは、ソフトウェアによって決定されるか、ネットワークによって決定されます。ネットワーク間で、または時間によっても異なる場合があります。

于 2013-07-23T14:48:32.747 に答える
0

IP アドレスは (通常)インターフェース固有であり、マシン固有ではありません。

マシンにインターフェースが 1 つしかない場合、その違いは意味がありませんが、(たとえば) 有線と無線の両方のイーサネットがある場合は問題になります。

また、両方を持っていて、同じサブネットで両方を同時に使用しようとすると、非常に混乱する可能性があることに注意してください。

于 2013-07-23T14:51:35.180 に答える