AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nickliste Chat

Ein Thema von Koksi · begonnen am 3. Nov 2007 · letzter Beitrag vom 6. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Koksi

Registriert seit: 22. Apr 2007
6 Beiträge
 
#1

Nickliste Chat

  Alt 3. Nov 2007, 13:54
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
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Nickliste Chat

  Alt 3. Nov 2007, 13:56
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
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Koksi

Registriert seit: 22. Apr 2007
6 Beiträge
 
#3

Re: Nickliste Chat

  Alt 3. Nov 2007, 16:49
hat jemand ein code beispiel?
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#4

Re: Nickliste Chat

  Alt 3. Nov 2007, 17:05
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.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: Nickliste Chat

  Alt 3. Nov 2007, 17:07
Zitat von idontwantaname:
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
Ich führe den Denkansatz mal weiter. Diese Liste mit den angemeldeten Clients werden an alle Clients gesendet und zum Beispiel in einer Listbox ausgegeben.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Real_Thunder

Registriert seit: 25. Apr 2006
197 Beiträge
 
#6

Re: Nickliste Chat

  Alt 3. Nov 2007, 17:56
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
  Mit Zitat antworten Zitat
Koksi

Registriert seit: 22. Apr 2007
6 Beiträge
 
#7

Re: Nickliste Chat

  Alt 4. Nov 2007, 15:04
Entschuldigen sie aber mit Sockets kenn ich mich noch nicht so gut aus

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 ???
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Nickliste Chat

  Alt 4. Nov 2007, 15:58
Du wirst ein eigenes Protokoll dafür definieren müssen....

OnConnect, Client:
Clientsocket1.socket.sendtext('#NICKLIST'); Server erhält Nachricht "#NICKLIST"
Delphi-Quellcode:
for i:=0 to NickList.Count - 1 do
  ServerSocket1.Socket.SendText('#NICKNAME: ' + NickList.Items[i]);
Client erhält Nachricht "#NICKNAME: ksngfskj"
Delphi-Quellcode:
  if pos('#NICKNAME', Msg) > 0 then
    NickListBox1.Items.Add(copy(Msg, 12, length(Msg) - 12);
Ist natürlich mehr Pseudocode denn funktionsfähiges Delphi...
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

Re: Nickliste Chat

  Alt 4. Nov 2007, 16:12
Zitat von Koksi:
Ich benutze folgende Komponenten : Clientsocket und Serversocket !
Die beiden Komponenten sind schon lange abgesagt und nur noch für Altlasten mit dabei. Sie sind nicht einmal mehr bei neueren Delphi Versionen in die IDE installiert und müssen von Hand nachinstalliert werden.
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#10

Re: Nickliste Chat

  Alt 4. Nov 2007, 17:32
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.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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