全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2910
推到 Plurk!
推到 Facebook!

用idhttp的get方法連接某一個網站時,如何設定連接的超時?

答題得分者是:wameng
linxi
一般會員


發表:17
回覆:15
積分:6
註冊:2004-08-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-06 13:36:10 IP:221.208.xxx.xxx 未訂閱
如題,用idhttp的get方法連接某一網站,當在規定的時間內連接不上時,或是在網絡忙碌時,我想延長連接等待的時間以正確獲取網頁,這個自由設定等待時間的功能應該如何實現?
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-06 15:42:33 IP:61.222.xxx.xxx 未訂閱
INDY 9 有 Timeout 屬性
linxi
一般會員


發表:17
回覆:15
積分:6
註冊:2004-08-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-06 18:30:51 IP:221.208.xxx.xxx 未訂閱
引言: INDY 9 有 Timeout 屬性
多謝wameng兄,indy9的idhttp在處理通過代理服務器連接的時候,個人感覺不如indy10 處理得好,所以我正在用indy 10的試用版,但是這個timeout屬性在idny 10中卻不見了,不知道哪位有解決的辦法?
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-07 15:56:29 IP:61.222.xxx.xxx 未訂閱
我看過很多這方面這方面的討論。 不外呼只能另外建立 Timer 物件 利用 OnTimer 作處理。
linxi
一般會員


發表:17
回覆:15
積分:6
註冊:2004-08-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-09 09:41:03 IP:221.208.xxx.xxx 未訂閱
wameng兄,感謝你的熱心幫忙,關於你說的用Ttimer的onTimer事件處理get連接超時的問題,可否上傳示例代碼,或者是解釋得理為詳細一些呢?
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-11 09:23:39 IP:61.30.xxx.xxx 未訂閱
沒有TimeOut屬性的話,那就只能自己從其Source來修改,裡面有一個TimeOut的屬性,預設是無限期等待! Indy8是沒有把TimeOut屬性開放出來,Indy9有,indy10我就不知了,尚未用過10。 所以,若沒有的話,那就是自己修改Indy的Source。 GPS(全球衛星定位系統) http://www.allgps.com
------
GPS(全球衛星定位系統)
http://www.allgps.com
linxi
一般會員


發表:17
回覆:15
積分:6
註冊:2004-08-29

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-12 15:17:50 IP:218.9.xxx.xxx 未訂閱
引言: 沒有TimeOut屬性的話,那就只能自己從其Source來修改,裡面有一個TimeOut的屬性,預設是無限期等待! Indy8是沒有把TimeOut屬性開放出來,Indy9有,indy10我就不知了,尚未用過10。 所以,若沒有的話,那就是自己修改Indy的Source。 GPS(全球衛星定位系統) http://www.allgps.com
Clarinet兄您好,可否具體告知indy10中在哪裡修改這個timeout屬性啊?
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-10-12 17:33:53 IP:61.222.xxx.xxx 未訂閱
修改 Source Code 也不失為一個好方法。 我先前所指的是 建立一Timer 物件,在 Get前 Enabled := True; Timeout 的時間設定到 Timer 的 Interval 當 Timer 時間到時,在用強迫中斷連線的方式。
linxi
一般會員


發表:17
回覆:15
積分:6
註冊:2004-08-29

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-10-12 18:51:43 IP:218.9.xxx.xxx 未訂閱
引言: 修改 Source Code 也不失為一個好方法。 我先前所指的是 建立一Timer 物件,在 Get前 Enabled := True; Timeout 的時間設定到 Timer 的 Interval 當 Timer 時間到時,在用強迫中斷連線的方式。
wameng您好,我用了您說的方法,在Timer物件的onTimer事件中寫入Disconnect,但是我發現這行代碼在idhttp的Get方法運行時,即使已經到達了Interval指定的時間也並沒有運行,我想是不是Indy的阻塞工作模式造成的呢?
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-10-12 19:44:39 IP:61.222.xxx.xxx 未訂閱
加入 TIdAntiFreeze 元件 看看 我查閱了一下 INDY 認為要用 TIdIOHandlerSocket 來處理 TIMEOUT 的問題。 發表人 - wameng 於 2004/10/12 20:10:23
linxi
一般會員


發表:17
回覆:15
積分:6
註冊:2004-08-29

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-10-13 15:48:15 IP:221.208.xxx.xxx 未訂閱
引言: 加入 TIdAntiFreeze 元件 看看 我查閱了一下 INDY 認為要用 TIdIOHandlerSocket 來處理 TIMEOUT 的問題。 發表人 - wameng 於 2004/10/12 20:10:23
wameng兄,不知可否說得更為詳細一些呢?
系統時間:2024-04-19 19:32:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!