void __fastcall TForm1::Button1Click(TObject ender)
{ //設定NMEcho控制元件的標準TCP/IP屬性
NMEcho1-〉Host=Edit1-〉Text ;
NMEcho1-〉TimeOut=StrToInt(Edit2-〉Text) ;
if(CheckBox1-〉Checked)
NMEcho1-〉Port=StrToInt(Edit3-〉Text);
else
NMEcho1-〉Port=7;
//TCP/IP中Echo的默認埠號
NMEcho1-〉ReportLevel=Status_Basic;
NMEcho1-〉Connect(); //建立連接
RichEdit2-〉Clear ();
for(int i=0;i
//RichEdit1用于給遠程主機發送資訊
RichEdit2-〉Text=RichEdit2-〉Text +NMEcho1-〉Echo(RichEdit1-〉Lines-〉
Strings[i]);
NMEcho1-〉Disconnect ();
}
這是我在網上找的用C++ Builder實作網路連接檢測程式的部分代碼這段代碼沒有看懂求高手決議;for(int i=0;i
uj5u.com熱心網友回復:
Echo是一種tcp協議用來回寫你發送給服務器的字串。檢測網路連接用ping方法較好,可以用indy的ICMP組件實作
uj5u.com熱心網友回復:
上面的代碼這段for(int i=0;i是不是不全啊,能幫忙看看么怎么補uj5u.com熱心網友回復:
應該是for ( int i=0; i<RichEdit1->Lines->Count; i++ )
uj5u.com熱心網友回復:
ECHO是比較老的協議了,可以用UDP也可以用TCP實作,你程式中使用的是TCP協議.這里有用WinSock實作的ECHO程式,解壓后找Echo*目錄,有詳細的注釋.http://download.csdn.net/detail/geoff08zhang/4571358
uj5u.com熱心網友回復:
我也寫過,大概代碼如下. 把代碼放到執行緒里跑.
ICMP->Host = ip;
ICMP->PacketSize = 32;
ICMP->ReceiveTimeout=2000;
ICMP->Ping();
ICMP->OnReply = ICMPReply;
//事件回傳ping耗時
void __fastcall Ping::ICMPReply(TComponent *ASender, const TReplyStatus *AReplyStatus)
{
times = AReplyStatus->MsRoundTripTime;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/154215.html
標籤:網絡及通訊開發
