![]() |
Nickliste Chat
Guten Tag,
Ich code zurzeit an einem Chat mit Server und Client ! Ich benutze folgende Komponenten : Clientsocket und Serversocket ! Könnte mir jemand ein Code beispiel geben wie ich eine Nickliste programmieren könnte oder einer den Code posten??? mfg Koksi |
Re: Nickliste Chat
Ich werde dir zwar keinen Code geben, aber folgenden Denkansatz:
Dein Server weiß, wer sich zu ihm verbindet. Speichere alle Nicks und lasse einen Client diese Liste abrufen ;) |
Re: Nickliste Chat
hat jemand ein code beispiel?
|
Re: Nickliste Chat
Es gibt kein allgemeines Code-Beispiel. Der Code ändert sich je danach wie du den Chat realisiert hast.
Pseudocode: (Server) Wenn Client verbunden hat: Sende Liste aller verbundenen Clients an alle Clients. (Client) Wenn Serverliste erhalten: Füge Liste in eine Listbox ein. |
Re: Nickliste Chat
Zitat:
|
Re: Nickliste Chat
Es gibt dazu sehr viele Beispiele im forum.
Und es gibt viele möglichkeiten dies zu machen. als erstes solltest du dir ein komplettes Protokoll überlegen. Hier mal ein Paar grundgedanken: Client verbindet zum server, server merkt sich den socket und dazu den nick. (ermöglicht später ein Privatgespräch) das ganze habe ich so realisiert das ich ein array of record gemacht habe und im record socket:TCustomwinsocket; nick:string; chatrauume: array of integer; Wenn jetzt also jemand in einen chatraum kommt, dann sollte er eine anfrage an der server senden, der server durchsucht dann in seinem array of record nach den chaträumen, wenn diese stimmen, wird der nick gesammelt, wenn alle nicks gesammelt sind wird es übertragen. Ich werde hier ebenfalls kein Copy Und Paste code posten. wenn du irgendwo nicht weiterkommst, poste einfach das was du schon hast.. und dir wird sicher geholfen.. und wenn du irgendetwas nicht verstanden hast.. dann frage halt MfG Real Thunder |
Re: Nickliste Chat
Entschuldigen sie aber mit Sockets kenn ich mich noch nicht so gut aus :oops:
mit Clientsocket1.socket.sendtext(edit1.text+' hat den Raum betreten...'); und der Server : Socket.Receivetext... ja alles schön und gut aber wie geht das mit dem Nickname wie kann ich die Namen in einer Listbox von dem Server listen und dann abfragen lassen vom Client ??? |
Re: Nickliste Chat
Du wirst ein eigenes Protokoll dafür definieren müssen....
OnConnect, Client:
Delphi-Quellcode:
Server erhält Nachricht "#NICKLIST"
Clientsocket1.socket.sendtext('#NICKLIST');
Delphi-Quellcode:
Client erhält Nachricht "#NICKNAME: ksngfskj"
for i:=0 to NickList.Count - 1 do
ServerSocket1.Socket.SendText('#NICKNAME: ' + NickList.Items[i]);
Delphi-Quellcode:
Ist natürlich mehr Pseudocode denn funktionsfähiges Delphi...
if pos('#NICKNAME', Msg) > 0 then
NickListBox1.Items.Add(copy(Msg, 12, length(Msg) - 12); |
Re: Nickliste Chat
Zitat:
|
Re: Nickliste Chat
TClientSocket und TServerSocket haben aber ein stabiles Verhalten und deren Einsatz ist durchaus noch zweckmäßig.
Und für das füllen einer Nickliste würde ich mich ans IRC-Protokoll anlehnen. Da gibt es den Befehl "/names #channel", den jeder Client aufruft und der Server sendet ihm die Nicks des Channels. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz