接続を確認


たかみちえ  2001-10-28 02:07:05  No: 74989

接続しているかどうかを確認するには、
InternetAttemptConnectというAPIを使うそうですけど、
そのAPIを呼び出しても、いつも0しか返ってきません。
0が返ってきたらインターネットに接続しているというサインだそうですけど…。

  そこで、かわりの方法として、インターネット接続時にだけ起動されてるらしい、
"Rnaapp"というアプリケーション(?)があるかどうかを調べて結果を返したいと思います。
(よくわからないんですけど、これを強制終了させると回線が切れるので…)

  で、なんですけど、どんな環境でもRnaappの在否を確かめれば、
接続は確認できるでしょうか?
強制終了ダイアログでのみ現れるようですけど…。


こころ  URL  2001-10-28 11:32:50  No: 74990

回線を切断している時に
InternetAttemptConnectを呼び出せば
接続ダイアログが開かれません?
キャンセルすれば、0以外の値が
こちらでは帰ってきましたが・・・。

引数は0を指定するようにMSDNに記載されていましたが
その辺は問題ないんですよね?

確かにダイヤルアップネットワークとかその辺で
接続されている場合、Rnaappを使用しているみたいですが
LAN環境から接続している人もいるわけで
そういった環境でRnaappが起動しているかは・・・
今は自宅なのでちょっと確認できません。。。


α  2001-10-28 23:43:29  No: 74991

Winsockでコネクトさせれば接続されているなら出ないし、接続されてないならダイアルアップが出てきますけど、ルーター接続だとだめですね。


たかみちえ  2001-10-29 01:03:00  No: 74992

あらら…、やっぱりAPIを使ったほうが確実なんですね^^;

  うーん…。説明をしっかり読んで、やってみたつもりですけど…。
なぜかどうやっても、どんなときでも0しか返ってきません。
InternetAttemptConnect(0)  ですよねぇ…。

  BASP21という、インターネットとかその他いろいろのライブラリがあるときいて、
ダウンロードはそれを使うことにしましたけど、接続しているかどうかはこれでしか取得できないようなので…。

  ところで、Winsockでやるならどうやって確認するんでしょう?
それができればそれでもいいんですけど…。

>接続されている場合、Rnaappを使用しているみたいですが
  あ、よく調べてみたら、強制終了させない限りずっとRnaappって残ってましたね^^;


こころ  URL  2001-10-29 03:56:31  No: 74993

> なぜかどうやっても、どんなときでも0しか返ってきません。
例えば、インターネットに接続していない状態で
IEを起動するとどうなるんでしょうか?

こちらの環境ではInternetAttemptConnectを呼び出したときと同じように
接続確認用のダイアログが表示されます。
IE系のAPIなので、当然IEもこれで接続確認していると思います。
なので、IEでできて、自分はできないのであれば
API宣言等を見直す(程の宣言ではないですが)とかするしかないですが。

InternetAttemptConnectは接続を確認するというより
接続を確保するためのものみたいなので
オフライン接続とかされていると0返しそうですねぇ・・・。
(試したわけではないですが・・・)


こころ  URL  2001-10-29 04:02:54  No: 74994

試してみたらオフラインでも同じでした。
っていうか、IEの場合、オフライン接続があるけど
InternetAttemptConnectで表示される奴は
キャンセルになってるし。

IEはInternetAttemptConnectは使ってないんでしょうかねぇ・・・。
それとも、ダイアログのフックみたいな拡張機能が
あるんでしょうか・・・。
もしかしたら、0以外を指定するとそうなったりして。。。


こころ  URL  2001-10-29 04:08:16  No: 74995

単純にInternetOpenが失敗すれば
接続できないとかでもいいんじゃないでしょうか?
どういう用途で接続確認をされようとしているのかが
わからないので、この方法が最善かはわかりませんが・・・。


たかみちえ  2001-10-29 08:32:34  No: 74996

>API宣言等を見直す(程の宣言ではないですが)とかするしかないですが。
  うーん、正式文章から持ってきたものではないので、あやしいかもしれません…。
  けどこれって、引数は0でそれ以外ないですよね^^;

  それとも、あそこになにかいれてみればいいのかな…。
>単純にInternetOpenが失敗すれば
>接続できないとかでもいいんじゃないでしょうか?
  接続とファイルのダウンロードは、
その見つけたライブラリのBASP21(http://www.hi-ho.ne.jp/babaq/)でやっているので
InternetOpenは使ってないんですよぅ…。

  けど、いったんOpenして、すぐ閉じればおなじことかな…。

>どういう用途で接続確認をされようとしているのかが
>わからないので、この方法が最善かはわかりませんが・・・。
  接続していないのにもかかわらず、ダウンロードしようとして、
ふつうにダウンロードが失敗したような処理はどうかなと思ったので…。
  別に確認しなくても、いいのはいいんですけどねぇ…。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加