2017-06-20 18 views
-3

LinuxでCプログラムを使用してインターネットの可用性をチェックする最も簡単な方法はありますか?Cにインターネット接続をチェックするライブラリ関数はありますか?

Cでシステムコマンド 'traceroute'を実行するプログラムを実装しました。これに先立って、インターネット接続が利用可能かどうかをチェックする必要があります。あなたは方法を提案できますか?

+4

「うまくいきません」というのは、長いコーヒー休憩などを取るようなものですか? –

+0

ライブラリ関数はありますか? (私はネットワークプログラミングの初心者です) –

+0

インターネットは1つのエンティティとして存在しないので、100%確実にその接続を検出することはできません。大きな問題があります。あなたはある確信を持って推測することができます - もしあなたがGoogleにpingをして失敗すると、あなたはインターネットに接続できません。または、何らかの理由でGoogleがその時点で到達できない場合..... – ThingyWotsit

答えて

0

短い回答:いいえ。 CやC++のどちらも、ネットワーキングや組み込みのネットワーキング機能についての知識はありません。

あなたが使用しているサードパーティのライブラリによっては、使用できるものがあるかもしれないが、それはライブラリに依存し、それが直接C.

の一部ではない私は図書館があります想像することができますいくつかの内部/外部アドレスをpingして名前の検索を実行しようとするかもしれません。しかし、隔離されたネットワーク上にいる場合、特定の場所に到達するためにping、ルックアップ、またはファイアウォールを通過できない可能性があります完全に有効であり、ネットワーキングの問題ではありません。

+0

ありがとうございます。あなたは私にインターネットの可用性をチェックする方法を提案できますか?私はシンプルなC関数やそのようなものについて質問しています。 –

+3

"Simple"?必要なものとネットワークに依存します。サーバーへの接続を確認する必要がありますか?ネームサーバが起動しているかどうかを確認します。ファイアウォールがTCPまたはUDPパケットを通過させているかどうかを確認します。ポートが開いていることを確認しますか?この質問には "単純な"解決策はありません。 –

+0

私はCプログラムを使って 'traceroute'コマンドを実行しています。だから、私はシステムコマンドを実行する前にインターネット接続を確認する必要があります。それが私の問題です。これを行う方法を提案してください。 –

関連する問題