掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ping (ID:43498)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Ping は Indy の TIdIcmpClient で実現できます。 以下に単純な Ping の関数を記述しておきます。 uses ..., IdIcmpClient, IdStack; interface ... function SimplePing(AHost: string; ATimeout: Integer = 3000): Boolean; implementation ... function SimplePing(AHost: string; ATimeout: Integer): Boolean; var IcmpClient: TIdIcmpClient; begin result := False; IcmpClient := TIdIcmpClient.Create; try with IcmpClient do begin Host := AHost; PacketSize := 32; ReceiveTimeout := ATimeout; try Ping; result := True; except On E: EIdSocketError do result := False; end; end; finally IcmpClient.Free; end; end; ...ですが、 Ping では、"ネットワークに TCP/IP 接続されているか?"という事しか判りません。 調べたいのは "特定のサーバに接続している PC" でしょうから、 "net session" の結果をリダイレクトして正規表現検索等で抜き出すか、 [net sessionコマンド (ITpro)] http://itpro.nikkeibp.co.jp/article/COLUMN/20060704/242470/?ST=network [552_パイプを使用したコマンドラインのリダイレクト (Mr.XRAY)] http://mrxray.on.coocan.jp/Delphi/plSamples/552_PipeRedirect.htm NetSessionEnum() API を使って調べる必要があると思います。 [NetSessionEnum (MSDN)] http://msdn.microsoft.com/ja-jp/library/cc446950.aspx
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.