004
17.10.2005, 00:49 Uhr
~Tom aus Chemnitz
Gast
|
ServerSocket1->Socket->ActiveConnections das gibt die Zahl der aktuellen (aktiven) Verbindungen zurück
Das Unterscheiden ist auch nicht das Problem: void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocket *Socket) { int Handle = Socket->SocketHandle; /* das solltest du in irgend nem Array oder so gespeichert haben (zusammen mit der ID), da du die Verbindung so eindeutig identifizieren kannst */ ID = // über Handle rausbekommen; /* meine Lösung: int Zeile = Form1->Connect->getZeile("Handler", Handle); (selber geschriebene Klasse, wo ein dynamisches Array durchsucht wird, wo alle Verbindugen mit ID und Handler (und noch bissl (überflüssigen) Sachen aufgelistet sind) int ID = A_ID[Zeile]; A_ID ist mein Dynamisches Array, wo die ID drinne steht... also nehm ich die ID da raus */ String Text = "ANTWORT"; Form1->ServerSocket1->Socket->Connections[ID]->SendText(Text); //Socket sendet an Verbindung {ID} den String {Text} }
hast du dafür auf meine Frage ne Antwort? die wäre: Wie trenne ich eine einzelne Verbindung? ServerSocket1->Socket->Connections[ID]->Disconnect(Handler); so hab ich das bis jetzt immer versucht - hatte dann abba allerdings immer irgend ne Fehler - zu letzt glaube ich nen Stacküberlauf... Form1->ServerSocket1->Socket->Connections[ID]->Close(); Das geht auch nicht so wirklich Vielleicht hast du da ja nen Plan und kannst mir helfen?!
mfG und auch schon mal danke
Tom |