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

為何會產生overflow

缺席
甘蔗夫
一般會員


發表:76
回覆:19
積分:19
註冊:2004-08-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-23 08:52:16 IP:61.14.xxx.xxx 訂閱
Dear 大大:
我為了要得到長時間連續ping的結果,我的程式如下,但ping幾個小時之後,卻發現overflow,請問是否有解,謝謝


TStringList *IP_List;
int CCNT,PingCNT;
void __fastcall TForm1::StartBTNClick(TObject *Sender)
{
CCNT =100;
IP_List = new TStringList;
IP_List->Clear();
PingCNT=0;

for (int i=0 ; i {
IP_List->Add("192.168.1." IntToStr(i 2));
}
Ping(this);
}


//---------------------------------------------------------------------------
void __fastcall TForm1::Ping(TObject *Sender)
{



for( int i=0 ; i {
IdIcmpClient1->Host=IP_List->Strings[i];
IdIcmpClient1->ReceiveTimeout= 1000;
try
{
IdIcmpClient1->Ping();
}
catch(Exception &e)
{
ShowMessage(e.Message.c_str());
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdIcmpClient1Reply(TComponent *ASender,
const TReplyStatus &AReplyStatus)
{
AnsiString szReport;
PingCNT ;

TDateTime TD=Date().CurrentDateTime();
if(AReplyStatus.FromIpAddress=="0.0.0.0" && AReplyStatus.TimeToLive==0)
{
szReport=" Request timed out on " TD;
}
else
{
if(AReplyStatus.MsRoundTripTime==0)
{
szReport.sprintf("Reply from %s: bytes=%d time<1ms TTL=%d %s",
AReplyStatus.FromIpAddress, AReplyStatus.BytesReceived,
AReplyStatus.TimeToLive,AnsiString(TD));

}
else
{
szReport.sprintf("Reply from %s: bytes=%d time=%dms TTL=%d %s",
AReplyStatus.FromIpAddress, AReplyStatus.BytesReceived,
/AReplyStatus.MsRoundTripTime, AReplyStatus.TimeToLive,AnsiString(TD));
}
}
Memo1->Add(szReport);
if(PingCNT==(CCNT))
{
PingCNT=0;
Memo1->Clear();
Ping(this);
}
}
編輯記錄
甘蔗夫 重新編輯於 2008-05-23 11:32:50, 註解 無‧
甘蔗夫 重新編輯於 2008-05-23 11:33:42, 註解 無‧
甘蔗夫 重新編輯於 2008-05-23 11:34:11, 註解 無‧
甘蔗夫 重新編輯於 2008-05-23 11:35:20, 註解 無‧
甘蔗夫 重新編輯於 2008-05-23 11:43:01, 註解 無‧
系統時間:2024-05-05 6:22:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!