- - PR -
.NET Compact FrameworkでIPアドレスを取得する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-30 21:49
いつも参考にさせてもらっています。
表題の件で、ご存知の方がいらっしゃればと思い投稿してみました。 現在PDA上で.NET Compact Frameworkを利用しアプリ作成をしているのですが、 PDA上でIPを取得する必要があり、以下のような形で取得しています。 string ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList[0].ToString(); これで取得出来ていた訳ですが、時々PDAのネットワーク設定で入れたIP以外の 値が返ってくることがあり、この辺の現象を洗ってみたところ有線でActiveSyncを つなげたままで、ワイヤレスLANを有効にしていると設定値以外にもう一つ IPが取得されていることが分かりました(AddressListが複数件)。 見たいのはワイヤレスLANで設定したIPなのですが、 ・複数ある場合に、ActiveSyncのIPとそうでないIPの区別がつく方法はあるのか? ・区別がつかないのであれば、PDAのIP設定を直接調べる手段はないか? PDA上で何かINIファイルやレジストリ的なものがないのか?調べてみたのですが、 いかんせんWindowsCEの環境に疎い為、なかなか答えにたどりつけません。 何かこの辺の知識、もしくは資料をご存知の方いらっしゃいましたら、ご助言 いただければと思います。 ちなみに開発言語はC#を使っています。 |
|
投稿日時: 2005-07-01 11:41
IPHelper APIのGetAdaptersAddresses等を使えば取得できるはずです。
ただし何のためにIPアドレスを取得するのか、本当に取得する必要があるのかな、もう一度しっかり検討したほうがよいでしょう。Socket通信をするアプリケーションが自分のIPアドレスを意識しなくてはならない事は稀です。 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ |
|
投稿日時: 2005-07-01 22:00
甕星様、レスありがとうございます。
> IPHelper APIのGetAdaptersAddresses等を使えば取得できるはずです。 出来れば.NET CFのクラスで実現したいんですが、これしか無ければ これで対応するしかなさそうですね。検討させていただきます。 > ただし何のためにIPアドレスを取得するのか、本当に取得する必要があるのかな、 > もう一度しっかり検討したほうがよいでしょう。Socket通信をするアプリケーション > が自分のIPアドレスを意識しなくてはならない事は稀です。 もちろんわざわざ自分のIPを取得するというのはそうそう無いとは思います。 ただ(詳細は申し上げれませんが)今回作成しているアプリではそれを取得する 仕様になっている為、その手段を探している次第です。 |
1