InternetOpen,InternetConnect

[戻る]
まささ [E-Mail] 2002/05/29(水) 11:46:38
InternetOpen()やInternetConnect()を使用していますが、
この関数からの戻り時間を設定することは可能でしょうか?

dairygoods 2002/05/29(水) 12:54:58
InternetSetOptionでタイムアウト関連のオプションを
設定してみてはどうでしょう?

まささ [E-Mail] 2002/05/29(水) 13:58:36
dairygoods殿。回答ありがとうございます。
その<InternetSetOption>は、InternetOpen()にも有効なのでしょうか?

dairygoods 2002/05/29(水) 14:33:35
>その<InternetSetOption>は、InternetOpen()にも有効なのでしょうか?

すみません。
実際にどのオプションがどの関数の処理に影響を
与えるかまではわかりません。
気になるオプションの値を変更して、InternetOpen()に
有効かどうか確認してみてください。

まささ [E-Mail] 2002/05/29(水) 21:14:35
dairygoods殿
度々の回答ありがとうございます!
回線が接続されていない状況でInternetConnect()を使用すると、
戻るまでに45秒かかっていました。
そこで、InternetSetOption()で次の通り設定してみたのですが、結果が変わりませんでし
た。
ms = 1000;
InternetSetOption(*HitNet, INTERNET_OPTION_CONNECT_TIMEOUT, &ms, sizeof(ms));
InternetSetOption(*HitNet, INTERNET_OPTION_CONNECT_RETRIES, &ms, sizeof(ms));
InternetSetOption(*HitNet, INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT, &ms, sizeof
(ms));
InternetSetOption(*HitNet, INTERNET_OPTION_CONTROL_SEND_TIMEOUT, &ms, sizeof
(ms));
InternetSetOption(*HitNet, INTERNET_OPTION_DATA_SEND_TIMEOUT, &ms, sizeof(ms));
InternetSetOption(*HitNet, INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, &ms, sizeof
(ms));

Connectでの戻りを早めるためには、何を行うのが正解なのでしょう?

dairygoods 2002/05/30(木) 11:14:07
効果がないようであれば、
InternetOpenでINTERNET_FLAG_ASYNCを指定して非同期で実行し、
一定時間経ったら、InternetCloseHandleで閉じてしまう方法もあります。

まささ [E-Mail] 2002/05/30(木) 16:34:31
dairygoods殿
InternetCloseHandle() !
申し訳ないのですが、
「一定時間で強制的にInternetCloseHandle()を行う」
手法というのを教えていただけないでしょうか?
教えて君で申し訳ありません。。。。

dairygoods 2002/05/31(金) 11:02:06
話を戻しますが、
次のようにすると1秒でタイムアウトになりました。

HINTERNET h = InternetOpen("MyAgent", 
   INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
DWORD timeout = 1000;
InternetSetOption(h, INTERNET_OPTION_CONNECT_TIMEOUT,
   &timeout, sizeof(timeout));
HINTERNET hcon = InternetConnect(h, "foo",
   INTERNET_DEFAULT_FTP_PORT,
   NULL, NULL, INTERNET_SERVICE_FTP ,0, 0);

古いスレッドには追加発言できません。