|
써버에서 구지 함수를 만드실 필요가 잇을지 몰르겠습니다.
써버에서는 하는일이 접속 되었는지 전송된 데이터 값이 올바른지
연결 해지 되었는지 만 검사 하고
대부분의 일은 접속 함수에서 하면 되는대요
void __fastcall TForm1::IdTCPServer1Execute(TIdContext *AContext)
{
for(int i=0; i<CList->Count; i++)//0부터 List->Count전까지 i++(데이터 뿌려주기위한 for문)
{
Context = (TIdContext *)CList->Items[i];
if (Context->Connection->IOHandler->Connected()==true)
{
Context->Connection->IOHandler->WriteLn(sendData);//readData의 내용 쓰기
}
}
}
요롷해 하면 접속 한 클라이언트의 갯수를 파악 해서 접속 된 수만큼 뿌려주게 됩니다.
음 델마당에서 델파이로 구성 된 채팅 프로그램을 한번 보시구 생각 하시는것도 괜찮을 듯합니다.
노두현 님이 쓰신 글 :
: //---------------------------------------------------------------------------
: void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
: TCustomWinSocket *Socket)
: {
: int i;
: Memo1->Lines->Add(Socket->ReceiveText());
: tmp=Socket->ReceiveText();
: for(i=0;i<2;i++)
: {
: ServerSocket1->Socket->Connections[i]->SendText(tmp);
: }
: }
: //---------------------------------------------------------------------------
:
: 이런식으로 하면 되나요??
: 안되는뎅...
: 좀 구체적으로점. 부탁드리겠습니다.
|