対象PCのサービス起動を確認するプログラムを組んでいます。
現在、gethostbyaddrでコンピュータ情報が取得できたら、
対象PCはPing疎通が可能と判断し、connectでポートに対して
応答の有無を判断しています。
ちゃんと動作はするのですが、gethostbyaddrでPing疎通を
判断するのでは時間がかかり過ぎることと、対象がコンピュータ
でない場合はエラーになってしまうことがネックです。
(プリンタなどに実行した場合には、応答の有無程度は表示したいため)
Pingコマンドのように応答時間の表示やTTLの設定などは不要で、
ただただ応答の有無のみ判断する良い方法がありましたら、
教えてください。
直接connectしない理由はありますか?
なければ、
try
connect; //接続
doSomething;//処理
disconnect; // 切断
except
//接続・処理・切断のいづれかで失敗
end;
とすればよいかと思います。
# pingをとばすと言うことは、複数回接続することになり二度手間です。
ツイート | ![]() |