DOBON.NET DOBON.NETプログラミング掲示板過去ログ

IPを指定して特定のマシンの検索をするには?

分類:[.NET]

IPを指定して特定のマシンが存在するを調べる最適な方法を今調べています。
1 ShellでPingコマンド使ってファイルに吐き出し、そのファイルを調べる方法
2 Pingを直接行なう方法
3 .NET FrameWorkの機能を使って行なう方法

1は恐らく作成できそうです。
2は「WSOCK32.dll」を使って何とかするしかなさそうです。やって見たけど、「WSAStartup」関数がうまく機能しません。
3は現在調査中です…なんとなく、最下層プロトコルレベルで出来そうな気がするのですが…

みなさんの知恵をお貸しください。よろしくお願いします。
■No106に返信(クリリンさんの記事)
> IPを指定して特定のマシンが存在するを調べる最適な方法を今調べています。
> 1 ShellでPingコマンド使ってファイルに吐き出し、そのファイルを調べる方法
> 2 Pingを直接行なう方法
> 3 .NET FrameWorkの機能を使って行なう方法
>
> 1は恐らく作成できそうです。
> 2は「WSOCK32.dll」を使って何とかするしかなさそうです。やって見たけど、「WSAStartup」関数がうまく機能しません。
> 3は現在調査中です…なんとなく、最下層プロトコルレベルで出来そうな気がするのですが…

Pingということであれば、次のページにあります。

C# Help
http://www.csharphelp.com/archives/archive6.html

指定したIPが存在するか調べる方法ということになると、分からないです。
解析して見ます。
pingを自分で行なう方法にC#版があったのですが、
(http://ukamen.hp.infoseek.co.jp/Programming1/WinPing/index.htm)
VB版に書き直す時間が無くなったので、DOSコマンドを実行し出力データを取得する方法でpingチェックを行なうことにしました。

P.S. VB版に書き直す事ができましたら、お知らせします。
解決済み!
■No132に返信(クリリンさんの記事)
> pingを自分で行なう方法にC#版があったのですが、
> (http://ukamen.hp.infoseek.co.jp/Programming1/WinPing/index.htm)
> VB版に書き直す時間が無くなったので、DOSコマンドを実行し出力データを取得する方法でpingチェックを行なうことにしました。
>
> P.S. VB版に書き直す事ができましたら、お知らせします。

VB.NETということでしたら、以下のページにサンプルがありました。ちゃんと検索すればもっと見つかると思います。

.NET 247
http://www.dotnet247.com/247reference/msgs/29/149256.aspx

Extreme .NET Forums - Ping!
http://www.dotnetforums.net/t69870.html
やはり、英語圏も検索の対象にしないといけないのですね。
とりあえず、私なりに理解した上でコードを書いてみます。
■No135に返信(クリリンさんの記事)
> やはり、英語圏も検索の対象にしないといけないのですね。
> とりあえず、私なりに理解した上でコードを書いてみます。

Planet Source Code にVB.NETで書かれたPingのすばらしいクラスがありました。

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=531&lngWId=10

私が試してみたところ、エラーが出たので、適当に修正したものをここにアップさせていただきます。
(この記事にはファイル"ping.lzh"が添付されていましたが、削除されました。)

DOBON.NET | プログラミング道 | プログラミング掲示板