您的位置:首页 > 其它

IdUDPServer和IdUDPClient通讯的例子

2011-08-02 16:11 561 查看
//---------------------------------------------------------------------------

//IdUDPServer和IdUDPClient通讯的例子    by:syrchina

#include <vcl.h>

#pragma hdrstop<p>#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "IdBaseComponent"

#pragma link "IdComponent"

#pragma link "IdUDPBase"

#pragma link "IdUDPServer"

#pragma link "IdUDPClient"

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

    AnsiString ip = Edit1->Text;

    int port = StrToInt(Edit2->Text);

    TBytes MsgStr;

    MsgStr = Memo2->Text.BytesOf();

    IdUDPClient1->SendBuffer(ip, port, MsgStr);

}

// ---------------------------------------------------------------------------

void __fastcall TForm1::IdUDPServer1UDPRead(TIdUDPListenerThread *AThread, TBytes AData,

        TIdSocketHandle *ABinding)

{

//TBytes为字节数组类型...

    AnsiString RcvData,RcvIP,RcvPort;

    RcvIP = ABinding->PeerIP;

    RcvPort = IntToStr(ABinding->Port);

    Edit3->Text = RcvIP;

    Edit4->Text = RcvPort;

    int RcvData_len = AData.Length ;

    for (int i =0 ;i<RcvData_len ;i++)

    {

        RcvData = RcvData + (char)AData[i] ;

    }

    Memo1->Lines->Add(RcvData);

}
// ---------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: