線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2857
推到 Plurk!
推到 Facebook!

IdHTTP.post 遇到http server中斷的問題?

尚未結案
mitchellhu
一般會員


發表:23
回覆:53
積分:15
註冊:2007-06-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-06-26 13:17:13 IP:59.125.xxx.xxx 訂閱
我在client端使用IdHTTP元件,將許多log file 讀取內容後, post 幾個參數到 http server 給cgi程式,cgi程式則會依據參數,執行資料庫insert的動作
因為網路可能會有中斷的情況。所以我在程式中加了一段發生中斷error的處理如下

[code delphi]
try
IdHTTP1.Post('http://xx.xxx.62.120/cgi-bin/xxx.pl',ParamData,PostDataStream);
FileListBox1.Update;
except
on E: Exception do
begin
ListBox2.Items.Add(datetimetostr(now) ' SEND:' E.Message);
ListBox2.Items.Add(datetimetostr(now) ' SEND: 傳輸異常,請檢'
'查網路是否正常,系統將於30秒後重新傳送!');
ListBox2.Refresh;
ListCount(ListBox2);
ParamData.Free;
PostDataStream.Free;
IdHTTP1.Free;
Timer1.Enabled := True;
exit;
[/code]
我作了測試分成2種情況:
1.程式開始執行後,移除client的網路線,得到結果在ListBox2中顯示了
Socket Error # 10054 Connection rest by peer
接著我再接上網路線,程式即可回復正常運作
2.程式開始執行後,我將http server(cgi server)的網路予以中斷,這時程式會變成hang住的情況,
而且沒有任何error message;
接著接著我再接上網路線,程式有在運作,但是畫面仍沒有refresh,而且筆數會有少

我的問題是,如何解決第2種情況,沒有error message 好像是不合理的情況?是我的錯誤處理少考慮什麼嗎?
再來是FORM的畫面沒有refresh,這又牽扯到thread的問題嗎?
請各位予以指導,謝謝!
系統時間:2024-04-26 8:15:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!