none
インターネットにアクセスできるかどうか調べるには RRS feed

  • 質問

  • パソコンがネットにつながっていてアクセス可能な状態かどうかを調べるにはどんなコードを書けばよいでしょうか。
    VB2008で作ったソフトがネットにつながってアクセスできる状態でないと使えないというメッセージを出したいです。

    私なりに考えてみたのですが、on local error gotoで
    ネットアクセスできないエラー番号が出たときにエラー処理すれば簡単かなと思いましたが
    なにかスマートなコードがあれば知りたいです。
    2009年4月15日 17:25

回答

  • ちょっと書き出してみましょう。

    LANケーブルが接続されていない、LANには繋がっているけれどもデフォルトゲートウェイが設定されていない、ゲートウェイが設定されているけれども社外へのアクセスは遮断されている、プロキシーを経由しないとアクセスできない、対象のサーバーの名前解決ができない、対象のサーバーへのパケットが遮断されている、対象のサーバーの対象のサービスが動いていない、対象のサーバーの対象のサービスにアクセスできるがAccess Denied/Not Found/Internal Server Error等になる。ネットワークには繋がっているけれども、PPPoA/PPPoEといった認証がされていない。


    それで、「アクセス可能」は何で判断できるとお考えですか?
    正直なところ、アクセスを試してエラーになったら、失敗として処理する、ユーザに通知するのが簡潔で妥当かと思いますよ。
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク VB136 2009年4月16日 1:35
    2009年4月15日 23:01
    モデレータ

すべての返信

  • ちょっと書き出してみましょう。

    LANケーブルが接続されていない、LANには繋がっているけれどもデフォルトゲートウェイが設定されていない、ゲートウェイが設定されているけれども社外へのアクセスは遮断されている、プロキシーを経由しないとアクセスできない、対象のサーバーの名前解決ができない、対象のサーバーへのパケットが遮断されている、対象のサーバーの対象のサービスが動いていない、対象のサーバーの対象のサービスにアクセスできるがAccess Denied/Not Found/Internal Server Error等になる。ネットワークには繋がっているけれども、PPPoA/PPPoEといった認証がされていない。


    それで、「アクセス可能」は何で判断できるとお考えですか?
    正直なところ、アクセスを試してエラーになったら、失敗として処理する、ユーザに通知するのが簡潔で妥当かと思いますよ。
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    • 回答としてマーク VB136 2009年4月16日 1:35
    2009年4月15日 23:01
    モデレータ
  • アクセスを試してエラーになったら、失敗として処理する、ユーザに通知するのが簡潔で妥当かと思いますよ。
    おっしゃるようにいろいろなエラーがありますのでエラーが出たらということで、Try Catchで書きました。

    VB2008 は on local error は使えないんですね。

    回答どうもありがとうございました。
    2009年4月16日 1:34