Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Chat - Server + Client - Verbinden !? (https://www.delphipraxis.net/103818-chat-server-client-verbinden.html)

Deep-Sea 22. Nov 2007 09:57

Re: Chat - Server + Client - Verbinden !?
 
Zitat:

Zitat von Progman
ähm.....ich rede von einer Verwendung für ein Chat-Programm, da braucht man nur TCP.

Ein Chat kann man auch zB. mit UDP machen, wenn er nur für Netzwerke sein soll (Über das Internet dann doch etwas unsinnig). Ist sehr lustig, man braucht so keinen Server, praktisch bei LANs :P ...

Zitat:

Zitat von Progman
Der Verwendungszweck bestimmt, was man nimmt, jedenfalls bei mir ;)

Richtig. Aber etwas, was obsolet ist, muss man für neue Sachen nun nicht wirklich nehmen :lol:

Progman 22. Nov 2007 10:03

Re: Chat - Server + Client - Verbinden !?
 
naja, mein damaliges Ziel war ja IRC (Internet Relay Chat). Der basiert nun mal auf TCP und es gibt genug Clientprogramme, so dass man die nicht auch noch schreiben muss. Allerdings liegt bei mir auch ein angefangener Client rum, den ich vielleicht mal fertig mache :-D

shmia 22. Nov 2007 10:05

Re: Chat - Server + Client - Verbinden !?
 
Entscheidend ist nicht, ob man die Unit ScktComp oder Indy benützt, sondern welches Protokoll man fährt!!
Also nicht wie die Daten übertragen werden, sondern wie Befehle und Text kodiert werden.
Ob man TCP oder UDP nimmt spielt auch nur eine untergeordnete Rolle.

Man kann sich an existierende Protokolle wie z.B. IRC oder Jabber halten oder man erfindet sein eigenes Protokoll.
Hier ein Vorschlag zur Diskussion:
Alle Befehle werden mit CR/LF abgeschlossen.
Sollte ein CR oder LF in einer Textnachricht enthalten sein, wird das nach /r und /n umgewandelt.
Hier die Befehle vom Client zum Server:
Code:
LOGIN username password
LOGOUT
TEXT textnachricht
GETUSERLIST
KILLUSER username
MESSAGE username textnachricht  // Nachricht an best. User
INFO // Serverinformationen abrufen
Vom Server zum Client:
Code:
TEXT username textnachricht
USERLIST user1, user2, ...
OK  // als Antwort auf LOGIN, LOGOUT, KILLUSER
ERROR fehlermeldung

Deep-Sea 22. Nov 2007 10:10

Re: Chat - Server + Client - Verbinden !?
 
Zitat:

Zitat von shmia
Entscheidend ist nicht, ob man die Unit ScktComp oder Indy benützt, sondern welches Protokoll man fährt!!
Also nicht wie die Daten übertragen werden, sondern wie Befehle und Text kodiert werden.
Ob man TCP oder UDP nimmt spielt auch nur eine untergeordnete Rolle.

Naja, zuerst wählt man das Protokoll aus der TCP/IP Familie, dann die Komponenten und dann erst sein eigenes Protokoll, sofern man ein eigenes nutzt. Denn ein Programm "fertig" zu schreiben und anschließend zu sagen: "So, jetzt bau ich alles um, ich nehme nämlich andere Kompos" ist etwas uneffektiv :P

Aber sonst stimmt es schon, dass das Protokoll seeehr wichtig ist. Entwickel auch gerade wieder eins (auf UDP, ua. MP3-Stream zu Mikrokontrollern) ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:29 Uhr.
Seite 2 von 2     12   

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