Kontrollieren was TCPServer in INDY an welchen client schickt
-
Hi
Ich habe einen tcpserver und mehrere tcpclients ich benutze indy..ich wurde gerne wissen ob ich kotrollieren kan was an welchen client geschickt wirdt..zum beispiel ich habe client A und B..die alle 5 minuten eine session mit dem server machen..und der server will eine message zu client A schicken und eine andere message zu client B schicken...aber ich weis nur das ich diese methode benutzen kan:
AThread->Connection->WriteLn("message");aber wen ich AThread->Connection->WriteLn("message fur A"); mache und dan client B zuerst die message aus dem buffer nimt..dan ist das nich correct..gibt es eine method um zu bestimmen fuer wehn die message im buffer ist ?
-
-
//------------------------------------------------ void __fastcall TForm1::DisconnectAllClients(TThreadList *threadlist) { TIdPeerThread *Thread; TList *Tlist = threadlist->LockList(); for(int i=0;i < Tlist->Count ;i++) { Thread = (TIdPeerThread *)Tlist->Items[i]; if(Thread->Connection->Connected()) Thread->Connection->Disconnect(); } threadlist->UnlockList(); } //------------------------------------------------ void __fastcall TForm1::DisconnectAClient(TThreadList *threadlist,unsigned int ThreadID) { TIdPeerThread *Thread; TList *Tlist = threadlist->LockList(); for(int i=0;i < Tlist->Count ;i++) { Thread = (TIdPeerThread *)Tlist->Items[i]; if(Thread->Connection->Connected() && Thread->ThreadID == ThreadID) Thread->Connection->Disconnect(); } threadlist->UnlockList(); } //------------------------------------------------ void __fastcall TForm1::SendTCPMessage(TIdPeerThread *AThread,char *msg) { TCP_Message send; //Struktur ! memset(&send, 0, sizeof(TCP_Message)); strcpy(send.Id,"TCP"); strcpy(send.Msg,msg); if(AThread->Connection->Connected()) AThread->Connection->WriteBuffer((char *)&send,1024,true); }Hier ein paar Beispiele von mir