受信したものをそのまま返信するエコーサーバー.
ポートは6000。
受信した文字列をそのまま返す。
SJISでやり取りする。
//---------------------------------------------------------------------------
void __fastcall TForm1::IdUDPServer1UDPRead(TIdUDPListenerThread *AThread, const TIdBytes AData,
TIdSocketHandle *ABinding)
{
String rcvdStr;
Idglobal::_di_IIdTextEncoding encSJIS;
encSJIS = IndyTextEncoding(932);
int init_pos = 0;
rcvdStr = encSJIS->GetString(AData, init_pos, AData.Length);
Memo1->Lines->Add(L"rcvd:" + rcvdStr);
String peerIP = ABinding->PeerIP;
int peerPort = ABinding->PeerPort;
IdUDPServer1->Send(peerIP, peerPort, rcvdStr, encSJIS);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
IdUDPServer1->DefaultPort = 6000;
IdUDPServer1->Active = true;
}