Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » ServerSocket

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.05.2004, 13:00 Uhr
~peter
Gast


Wie kann ich feststellen wieviele clients mit dem Server verbunden sind, und
wie kann ich mit mehreren clients arbeiten ???
zum beispiel client 1 macht eine anfrage für ein bestimmte sache und clients 2 auch, jetzt soll client 1 nur das zurückbekommen was er angefragt hat und auch client 2 nur das was er anfegragt hat.


ServerSocket->Socket->Connections[0]->SendText("@EW1L"+zahler);

Danke im vorhinein!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.05.2004, 18:12 Uhr
~peter
Gast



Zitat:
~peter postete
Wie kann ich feststellen wieviele clients mit dem Server verbunden sind, und
wie kann ich mit mehreren clients arbeiten ???
zum beispiel client 1 macht eine anfrage für ein bestimmte sache und clients 2 auch, jetzt soll client 1 nur das zurückbekommen was er angefragt hat und auch client 2 nur das was er anfegragt hat.


ServerSocket->Socket->Connections[0]->SendText("@EW1L"+zahler);

Danke im vorhinein!



Kann mir hier keiner weitrerhelfen ??????????

Mfg. Peter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.05.2004, 05:23 Uhr
~möchte anonym bleiben
Gast


lass den client1 eine bestimmte kennung im text zb

ServerSocket->Socket->Connections[0]->SendText("client1"+"@EW1L"+zahler);
und
ServerSocket->Socket->Connections[0]->SendText("client2"+"@EW1L"+zahler);

und der server soll die dann anhand der client-id(client1 bzw client2) am anfang die clients unterscheiden...
klingt doch logisch oder?
so könnte man die auch zählen wieviele clients verbunden sind aber leider kann ich nur spekulieren weil ich damit noch nicht so richtig gearbeitet habe - mit mehreren clients... und leider auch nicht oft genug...

würde sagen versuchs einfach mal...
wenn mir keiner helfen kann und ich keine geeignete lösung finde suche ich ne andere / eigene lösung - auch wenn es ein umweg sein sollte...
und es klappt manchmal sogar...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.05.2004, 17:17 Uhr
~peter
Gast


Danke erstmals für die Antwort!

Aber mein Problem sind die Connections[0] wenn ein client verbunden ist
ist er Connections[0] beim zweiten ist es Connections[1] usw. aber wie weis ich wann jetzt überhaupt mehr verbuden sind.


Und wer jetzt auf welchen Connections[0] ist ???


Mfg. Peter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
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
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: