Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Sockets - Userliste (https://www.delphipraxis.net/43985-sockets-userliste.html)

PierreB 11. Apr 2005 17:47


Sockets - Userliste
 
Hallo Leuts,

ich hatte bereits vor einiger Zeit einen Chat programmiert und möchte diese Projekt seit langem mal wieder ein bisschen auffrischen. Mein Problem: Ich möchte indem Chat-Clienten eine Userliste einfügen, sodass man immer sieht wer schon online ist. Im Serverprogramm hab ich bereits so eine Liste, bloß wie kann ich die auch beim Clienten anzeigen ?

Vielen Dank,

P.S.: Ich benutze die Sockets

BenjaminH 11. Apr 2005 18:04

Re: Sockets - Userliste
 
Ich würde, wenn ein User den Chat betritt, allen anderen eine Meldung senden, das ein neuer User in den Chat gekommen ist und die Clients reagieren indem sie diesen User in ihre KOntaktliste aufnehmen.
Der neue User bekommt dann als erstes die bereits vorhandenen User geschickt, dürfte gar kein Problem sein, sofern ich deine Frage richtig verstanden hab.
//Edit
Du kannst ja das eintreten eines neuen Users genauso senden wie Text, nur mit einem bestimmten Inhalt am Anfang z.B.
[delphi]ClientSocket.SendText('*ServerMessage*_NewUser:New bie');
und der CLient überprüft jede Nachricht, ob sie eine Nachricht vom Server ist.

PierreB 11. Apr 2005 20:12

Re: Sockets - Userliste
 
Hallo,

eine Nachricht an alle anderen wird bereits geschickt wenn ein neuer User den Chat betritt.
Zitat:

Clients reagieren indem sie diesen User in ihre KOntaktliste aufnehmen.
Nur wie ? Wie kann ich z.B. diesen String in eine ListBox bekommen ?
Zitat:

Der neue User bekommt dann als erstes die bereits vorhandenen User geschickt,
Nur wie ?

BenjaminH 11. Apr 2005 21:21

Re: Sockets - Userliste
 
Der Client überprüft jede ankommende Nachricht, ob sie zum beispiel das enthält 'Dies ist eine NAchricht vom Server:'
Ungeprüfter Code, einfach mal drauflos überlegt:
Delphi-Quellcode:
ListBox1.Lines.Add(Copy(Send,Length('Dies ist eine NAchricht vom Server:'),Length(Send)-Length('Dies ist eine NAchricht vom Server:'));
Irgendwie so, kann der CLient dann neue User dazu aufnehmen, genauso würde ich auch das verlassen des Chats eines Users machen.
Und wenn ein CLient sich mit dem Server verbindet einfach so einstellen, dass er alle Nachrichten die kommen für einen Username hält.
und das macht er so lange, bis z.B. dieser String kommt 'EndContactList'


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz