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

Indy TIdTCPClient物件之異常狀況

缺席
lu
高階會員


發表:11
回覆:189
積分:195
註冊:2003-11-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-19 15:22:34 IP:203.73.xxx.xxx 訂閱
請問各位先進,有遇過這樣的情況嗎?
先敘述我自己PC的環境

Windows XP SP2 Indy 9.0.18 BCB5(必要的UPDATE都做過了) Kaspersky Anti-Virus 7.0

程式碼如下

[code cpp]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdTCPClient1->Host = Edit1->Text;
IdTCPClient1->Connect (5000);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
IdTCPClient1->Write ("Test");
}
//---------------------------------------------------------------------------
[/code]

依我個人的了解 Indy 的 TIdTCPClient 是屬於 Blocking 的運作方式,亦即當程式呼叫 IdTCPClient1->Connect(5000); 程式會停下來,一直到該物件連線至 TCP Server,若該HOST不存在,或乾TCP SERVER物件未開啟,則會產生一異常(exception)

這樣的程式碼一直運作很正常,但是最近卻產生一異常狀況,當我要去 Connect 一個不存在IP(即該IP沒有任何裝置佔用),程式居然不會產生任何異常(exception),甚至呼叫IdTCPClient1->Write ("Test"); 或 CheckForDisconnect(); 都可以正常運作

但是我將防毒軟體(Kaspersky )的網路監控功能關掉,即恢復正常,如下圖點選紅色部分

有先進遇到類似的狀況嗎?該如何解決?





系統時間:2024-04-24 21:45:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!