Einzelnen Beitrag anzeigen

ramboni

Registriert seit: 3. Dez 2012
24 Beiträge
 
Delphi XE Starter
 
#1

Chat: Server sendet Nachricht an EINEN Client

  Alt 8. Dez 2013, 20:00
Hey zusammen,

um es vorweg zu nehmen: Ich bin ü50 und habe mit dem Programmieren angefangen
um meine Birne nicht ausglühen zu lassen, rechnet also nicht mit professionellen Fragestellungen

Ich habe einen Chat geschrieben. Ein Server und X Clients... Funktioniert super.
Ein Client sendet einen Text an den Server, dieser verteilt die Nachricht dann an alle
anderen Clients.... Nun möcht ich den Chat ein wenig ausbauen und einige Funktionen
einbauen.
Gelöst habe ich es mit der ganz normalen in Delphi integrierten Funktion: TClientsSocket,
Indy war mit zu kompliziert


1.
Der Server soll eine Nachricht an einen Client (nicht alle!) senden können.
Vom denken her wollte ich gerade versuchen ein Array mit ip und GetHashCode zu füllen
um dann über Server.Socket.Connections[i] suchen wer den Hash hat... aber irgendwie glaube
ich das es viel viel einfacher geht Darum die Frage hier

Weiß einer wie der Server eine Nachricht an nur einen Client senden kann?

2. Dateien verschicken.
Wie mach ich sowas?
Und wenn ich weiß wie, schick ich die Datei erst zum Server und der schickt sie dann zum Client
oder wie oder wo?


Ich bin zu alt für sowas.....


//Edit

Hat sich erledingt.
Wenn ich eine "Userliste" als Listbox anlege und diese bei Connection mittels:

Listbox1.AddItem(Socket.RemoteAddress,Socket);

befülle > dann gehts...

Was bedeutet das ", Socket"
Also das ich da jetzt die IP drin zu stehen hab, seh ich ja, aber ", Socket" ... sind das Infos
zum Client?


Mit:

(Listbox1.Items.Objects[i] as TCustomWinSocket).SendText('Test');

kann ich dann auch an genau diese Connection senden... aber was das genau bedeutet hab ich
nich nicht herrausbekommen
Kann mir das jemand in einfachen Worten erklären?

Geändert von ramboni ( 8. Dez 2013 um 21:30 Uhr)
  Mit Zitat antworten Zitat