C# - TcpListener/-Client Frage ...

kasal

Erfahrenes Mitglied
Hallo Freunde!

Ich versuch mich auch grad n bissel in die Netzwerkprogrammierung einzuarbeiten, da habe Ich auch gleich Mal die MSDN zur Hand genommen.
Ich habe Mal nen kleinen Chat geschrieben, wo ein Client zum Server connected und Man kann zu zweit chatten, habe den SC im anhang.

Doch nun meine Frage:
Kann Ich auch mehrere Clients zum Server connecten, wenn ja, wie? Kann Ich jeden Client geziehlt ansprechen, d.h., vom Server kicken, PNs schicken. Muss Ich da meinen Code bloß umschreiben oder neu machen?
Habe selber schon mal überlegt, ob Man die Clients in ein Array oder sowas einlesen und per Indexer ansprechen könnte, aber das is wohl auch nicht so das richtige..

Wäre für jede Hilfe/Tipp/Anregung etc. dankbar. :)


LG,
kasal
 

Anhänge

Hallo, ich habe mir deinen Source - aus Mangel an Zeit - nicht angesehen. Was du machen musst ist einfach nur, pro Client einen eigenen Thread abzuspalten, in dem die Messages behandelt werden. Da kannst du dann auch gleich eine eindeutige Kennung mitspeichern und hast somit direkten Zugriff auf den entsprechenden Channel. Sinnvollerweise verknüpfst du den Thread mit einem dahinterliegenden User (schließlich wird sich der User auch anmelden müssen).
 
Hi.

Also nen neuen Thread für jeden Client. Habe aber im Moment leider noch keinen Plan wie Ich das dynamisch lösen könnt. ja, sie sollen sich anmelden, z.B. mit Server-Passwort, wenn verlangt. Vllt. kannst mir das näher erläutern wie du das meinst, es hört sich interessant an.


LG,
kasal
 
Hm.. Hättest du vllt. nen Link oder so wo sowas gemacht wird, Ich probier und probier und das wird nix..


LG,
kasal
 
Norbert Eder hat gesagt.:
Hallo, ich habe mir deinen Source - aus Mangel an Zeit - nicht angesehen. [...]
*handheb* :D
Wenn Du's via Remoting machst, empfehl ich Dir ne HashTable.
Du musst nur noch einen eindeutigen Namen für die Clients vergeben
und sie unter diesem in der HT ablegen.
[thread=77884]Remoting - Wie programmiere ich einen ChatServer - Tutorial[/thread]

Wenn via Sockets, kannst Dir ne menge Threading spaaren, wenn Du's asynchron implementierst.
Also Events die automatisch in einem Thread ausgeführt werden.
[thread=237263]TCP-Übertragungen überprüfen - Thread[/thread]

MfG,
cosmo
 
Zurück