2011-01-29 1 views
0

私はJavaでこのスニペットを持っている:ネットワークインタフェース - VB.Net/Java

final InetAddress address = InetAddress.getLocalHost(); 
final NetworkInterface ni = NetworkInterface.getByInetAddress(address); 
key = new String(ni.getHardwareAddress()); 

私のPCが戻るの "キー"、:

▲╔UiÎ

何をVB.Netで同じ出力を得るのと同等でしょうか?私は「MACアドレス」と「物理アドレス」を取得しようとしましたが、Javaの出力とはまったく比較されません。

答えて

1

私はVBであなたを助けることはできませんが、多分私はいくつかをクリアすることができます。

私の経験では、InetAddress.getLocalHost()は役に立たない。これは、OS、Javaバージョン、接続しているルーターのブランド、月の位相などによって異なる結果をもたらします。ループバックIPアドレスが必要な場合は、ハードコードするだけです:127.0.0.1。お使いのマシンにネットワークインターフェイスのアドレスが必要な場合は、NetworkInterface.getInterfaces()に電話をかけ、それらを繰り返します。

MACアドレスは、イーサネットインターフェイスの一意のIDです。通常、ネットワークハードウェアで何か不思議なことをしているのでなければ、心配する必要はありません。それはIPアドレスとは関係がありません。

最後に、他人があなたに接続するために使用できるIPアドレスを特定することを検討している場合は、それほど簡単ではないことにご注意ください。コンピュータには複数のネットワークインターフェイスがあるかもしれません - どれを選ぶべきかをどのように知っていますか?ルータの背後にいる場合(最近のほとんどのマシンがそうであるように)、コンピュータには「ローカル」アドレスが割り当てられます。ローカルアドレスは、ローカルネットワークの外にいる人にとってはまったく役に立たないものです。

関連する問題