Web アプリケーションにログインしているユーザーの IP アドレスを印刷しようとしています。ユーザーが別の PC (Web アプリケーションが PC で実行されているのと同じネットワーク内) から IP アドレスを使用して接続すると、192.168.10.120:8080/WebApplication
コードはrequest.getRemoteAddr()
そのユーザーrequest.getLocalAddr())
の IP アドレスを返します。ただし、Web アプリケーションを実行している PC からログインすると、この IP アドレスが取得されます0:0:0:0:0:0:0:1
。
なぜこのようなことが起こるのでしょうか? また、これらのコマンドの違いは何ですか (どちらを使用すればよいですか)? よろしくお願いします!
ベストアンサー1
IPv4 から IPv6 に移行すると、ループバック アドレス (localhost) が に変更されるため、0:0:0:0:0:0:0:1
この127.0.0.1
アドレスが取得されます。
機能について:
getRemoteAddr()
クライアントのIPを返すgetLocalAddr()
アプリケーションが実行されているサーバーのIPを返します