Entwickler-Ecke

Internet / Netzwerk - [LAN-"ICQ"] - Mehrer Sockets für jede neue Instanz?


wurzel - Do 04.01.07 12:25
Titel: [LAN-"ICQ"] - Mehrer Sockets für jede neue Instanz?
Ich hab da ja meinen Chat, siehe hier [http://www.delphi-forum.de/viewtopic.php?t=68281]. Nun kommt bei mir die Frage auf, ob ich für jede neue Instanz mit einem User auch einen neuen ClientSocket brauche. Aus meiner Sicht schon, aber wie ist dass dann realisierbar?


Narses - Do 04.01.07 14:26

Moin!

user profile iconwurzel hat folgendes geschrieben:
Nun kommt bei mir die Frage auf, ob ich für jede neue Instanz mit einem User auch einen neuen ClientSocket brauche. Aus meiner Sicht schon, aber wie ist dass dann realisierbar?

Nein, du brauchst bei einer Client-Server-Architektur nur einen ClientSocket. Die entsprechende Aufteilung der Nachrichten wickelst du über das Suche in: Delphi-Library PROTOKOLL ab. Hier hat die Kommunikation nichts mit der Visualisierung zu tun. ;)

cu
Narses


wurzel - Fr 05.01.07 10:59

Also, ich mache das ja schon nach deinem Tutorial, is ja auch echt gut. Aber es hilft mir nicht wenn du einfach en Verweis auf die Suche machst. Ich hab mir das so gedacht:

Form1:
-Zum Server connecten
-Liste aller aktuellen User abholen
-Doppelklick auf einen User in der Liste führt zu Fornm2

Form2:
-Nachricht des Users empfangen
-Nachricht nur an den User schicken (quasi wie flüstern)

Mir ist dabei eben grad ne schwierigkeit eingefallen, was wohl passiert, wenn man ne Nachhricht bekommt, aber man arnicht mit demjenigen chattet. Wird wohl irgendwie mit Form2.Show verwirklicht.Aber das ist ein anderes Thema, erstmal das mit der Protokollgeschiche


Narses - Fr 05.01.07 11:37

Moin!

user profile iconwurzel hat folgendes geschrieben:
Also, ich mache das ja schon nach deinem Tutorial, is ja auch echt gut. Aber es hilft mir nicht wenn du einfach en Verweis auf die Suche machst.

Langsam :? ich habe deine Frage beantwortet, jetzt stellst du ja quasi eine andere (-> Wie muss das Protkoll aussehen?), hm?! :| ;)

Wie ich das sehe, entspricht dein Wunsch einem Chat-Raum-Verfahren (nur eben mit jeweils 2 Leuten). Dazu führst du einfach eine Chat-Session-ID ein und gibst jeder Nachricht eine entsprechende mit. So kannst du steuern, wer welche Nachrichten bekommt.

cu
Narses


wurzel - Fr 05.01.07 11:52

Ja, sorry...Oh man, das is ja alles voll kompliziert... :cry: :cry: :cry:


Narses - Fr 05.01.07 12:48

Moin!

Naja, soo entsetzlich komplex ist das nun auch wieder nicht. :zwinker: Das schaffst du schon. ;)

Im Binär-Protokoll-Tutorial [http://www.delphi-library.de/topic_BinaerProtokollTutorial+Sockets+v100+MalChatFiles_66706.html] wird der Dateitransfer über einen ähnlichen Mechanismus abgewickelt. Vielleicht hilft dir der Ansatz da ja weiter.

cu
Narses