- PR -

InetAddress.getAllByName(String)で取得できる値について

1
投稿者投稿内容
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2007-03-23 08:51
【JDK】JDK1.3.1.20

InetAddress.getAllByName(String)を使って
ドメイン名からドメインコントローラを取得しようと思っています。

今、ドメインAに
DC1(PDC、サイトA)
DC2(BDC、サイトA)
DC3(BDC、サイトB)
DC4(BDC、サイトB)
という4台のDCがあるとします。

このとき、上記メソッドを使用したときに取得できる
DCの順番について質問です。

windowsのnslookupコマンドを使用すると、
毎回ランダムな値が取得できますが
上記メソッドでは毎回順序が固定されているようです。

どのような順序で取得できるのでしょうか。
(PDC→BDCとか、同じサイト優先とか)

また、特に順序にルールがない場合、
PDCかBDCを判定するor同じサイトかどうか判定する方法は
ありますでしょうか。

どなたかご存知の方、ご教示ください。
よろしくお願いします。
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2007-03-23 13:30
JDK 1.4のソースを軽く眺めた感じでは、クラス変数としてキャッシュを持っているため、
同じ引数で連続して呼び出すと全く同じ結果が返ってくる感じですね。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-03-23 21:51
ネットワークのプロパティで、キャッシュ設定を無効にしたりすると
取得できる値が毎回変わったりしませんかね。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/net/properties.html

84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2007-03-24 09:57
みなさんありがとうございます。

キャッシュを考慮すると、
nslookup同様、取得する値の並びはランダムである。

と言えそうですね。
1

スキルアップ/キャリアアップ(JOB@IT)