2017-07-06 17 views
3

外部プログラムを起動する前に、私のQtアプリケーションでIPアドレスをpingしたいと思います。QProcessを使用せずにC++/Qtでpingを実行するには?

私はコードをping.exeを使わずに(そしてプロセスを実行して)pingクラスにしたいと思います。問題は私が "ping 127.0.0.1"を実行したときに、Windows上で(ping)プロセスを終了するのに3秒以上かかることです。私は、私の外部プログラムを(直ちに)実行する前に、速いチェック(500ミリ秒未満)が必要です。

QNetworkなどを使用したいと思います。あなたはQtアプリケーション内のプラットフォーム依存のコードを使用して気にしない場合は

+1

'ping'ユーティリティが複数のエコーリクエストを送信するので、数秒かかると思います。 'ping 127.0.0.1 -n 1'のように、1つのパッケージだけを送信するように設定することができます。プロセスはすぐに終了します。 – vahancho

+0

1つの可能性は、vahanchoが試行回数を減らして「ping」に固執すると言いますが、もう1つはICMP(Internet Control Message Protocol; https://msdn.microsoft.com/en-us/library/windows)を使用することです/desktop/aa366050(v=vs.85).aspx)、あなた自身で実装してください。 – Robert

+1

接続を確認したい場合、IPアドレスをpingする理由を理解できません。この要求を解決するための他のより良い解決策があるかもしれません。 – saeed

答えて

関連する問題