|
UDP로 간단하게 데이터 주고받는 기능을 만들고 있는데요
서버쪽에서 컴파일시에 에러는 없는데 실행되고 나서 쓰레드 스타트후에 먹통이 되네요
서버쪽 소스
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
IdUDPServer1->DefaultPort = 9500;
IdUDPServer1->Active = true;
IdUDPServer1->BroadcastEnabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::IdUDPServer1UDPRead(TObject *Sender, TStream *AData,
TIdSocketHandle *ABinding)
{
char str[1024];
ZeroMemory(str, sizeof(str));
AData->ReadBuffer(str, AData->Size);
Memo1->Lines->Add(str);
TByteDynArray data;
IdUDPServer1->SendBuffer(ABinding->PeerIP,ABinding->PeerPort,Id_IPv4,data);
}
클라이언트쪽 소스
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
IdUDPClient1->Active = true;
IdUDPClient1->Port = 9500;
IdUDPClient1->BroadcastEnabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
AnsiString stReceive;
IdUDPClient1->Send(Edit1->Text); // 서버로 데이터 전송
stReceive = IdUDPClient1->ReceiveString(); //데이터 수신
Memo1->Lines->Add(stReceive);
}
//---------------------------------------------------------------------------
코드기어 C++빌더 2007을 쓰고 있습니다 인디 10.대 버젼이구요
|