質問: ### 前提・実現したいこと 1.自分のPCからIPアドレス(もしくはコンピュータ名)を入力。 2.手順1で入力したIPアドレスのマシンから、サーバにPingを飛ばし、Pingの状態を取得する ### 前提条件 WMIは使えない。 ### 環境と開発言語 Windows 7 64bit Visual Studio 2013 C++ ### 自分のPCからサーバにPingを飛ばして、Pingの状態を取得することはできたのですが、LANで繋がっているマシンとサーバ間のPingステータスを取得する手段がわかりませんでした。 なにかいい手がないかアドバイス等頂けると助かります。
回答: > > 2.手順1で入力したIPアドレスのマシンから、サーバにPingを飛ばし、Pingの状態を取得する > > > 前提として、IPアドレスのマシン側に`待ち受ける`何かの仕組みが必要です。 仕組みとしてはTCP/UDPソケットであったりサーバーであったりいろいろです。 あとルータ超えをするかどうかも一つのポイントかと。 質問文を見て気になった点が1点あります。 `ping`が必要になる用途が主にIPレベル(正確にはICMP)の疎通確認なので、 質問文で挙がっている同一LAN内のネットワーク構成の場合、このプログラムはあまり生かせない気がしますが。 ``` [自分のPC] < === | | === > [ ルーター ] < === > [ ping対象サーバー ] [指定したIPアドレスのPC] < === | ``` [自分のPC] < == > [指定したIPアドレスのPC] 間に指示を出せるならIPレベルでは疎通がもちろんできていて、[自分のPC] < == > [ ping対象サーバー ] は自分のPCからpingを投げれば分かります。 この状況下において、[指定したIPアドレスのPC]からpingを[ ping対象サーバー ]に投げるシュチェーションが想像できませんでした・・・。 主な用途は疎通確認ではなくRTT値の確認でしょうか? それとも複数拠点とか複数ルーターとかそういう話でしょうか? それなら納得ですが。