![]() |
Messenger programmieren
Hallo...
ich hab mal eine Frage. Was brauche ich alles um einen Messenger zu programmieren, wie ICQ etc. Wie läuft die Kommunikation ab? (technisch) Grüße Horst |
Re: Messenger programmieren
naja des beste wird sein du machst es über TCP
der client muss sich halt dann zum server verbinden und über DEIN protokol können die sich dann unterhalten du kannst z.b. sagen wenn der server die MSG "/msg NICK Hallo" bekommt dann sucht er sich den Client aus seiner Tabelle raus und schickt dann an ihn diese MSG |
Re: Messenger programmieren
Mhm...okay, erstmal danke :)
Also muss soweit ich das verstanden habe ein Server existieren auf dem ein "Messenger-Server" läuft. Und auf einem Clientrechner die "Client-Software"? Wäre noch die Frage wie sich die User anmelden können, mit ihrer Emailadresse und Passwort. Weiß auch das ich gerade nur sehr Oberflächlich darüber schreibe, ich hab halt überhaupt keinen Plan was zu tun ist. |
Re: Messenger programmieren
Gibt es da irgendwo Anleitungen dazu?
Grüße Horst |
Re: Messenger programmieren
Anleitung kenne ich keine dazu
Aber: Anfangs musst du dich entscheiden, welchen Typ von Chat du schreiben willst. Einen Serverless Chat oder einen Server Chat. Ein Serverless Chat bedeutet es gibt keinen Server. D.h. das jeder Client zu dem anderen Client eine verbindung aufbaut. Kann man im Internet eigentlich vergessen Ein Server Chat bedeutet du brauchst zwei Programme einen Server und einen Client. Die Clients können mit z.b. der TClientSocket Kompo verbindung zum Server aufbauen. Der Server hat z.b. die TServerSocket Kompo am laufen und somit bekommt der Client eine Verbindung. Wenn du eine Verbindung hast dann muss der Server die Clients verwalten. Da der Client "nur" Text zum Server versenden kann musst du dir dein eigens Protokoll überlegen: /login NICK PW Und der server sendet z.b. zurück: /login ok so kannst du des alles aufbauen |
Re: Messenger programmieren
Aaaaaaaaaaaalso.
Mit IMs kenn ich mich mittlerweile gut aus XD (-> M.U.H Messenger) Natürlich brauchst du einen Server, auf dem du die Datenbank mit den ganzen Useraccounts, usw. gespeichert hast. Jetzt machst du dir ein Serverprogramm...(also erstmal nur was passieren soll, wenn der Endnutzer sich einloggen will...). Natürlich brauchst du ein Protokoll für sowas. Ich empfehle dir dieses ![]() In diesem Fall würde das so aussehen: 1 Nickname Passwort Dein Serverprogramm ließt jetzt also zuerst um welchen Command es sich handelt (hier: einloggen). Dann überprüft er ob das Passwort stimmt; wenn ja, sendet er z.B. 2 zurück, ansonsten die Fehlermeldung! Wenn er eingeloggt ist, lädt er die Kontaktliste, und sendet an alle in der Liste (alle die online sind, die andern brauchen's ja nicht ;)) den Befehl, dass sie ihre Kontaktliste erneuern müssen! (Dasselbe macht der Server dann beim ausloggen). Bei den Nachrichten ist es eigentlich genauso: du sendest den Befehl an den Server, dass er die Nachricht, an die bestimmte Person weiterleiten soll. Hoffe, du hast das verstanden...;) Wenn du noch fragen hast, ich helf gerne :) |
Re: Messenger programmieren
Erstmal Danke @ALL
@LH_Freak Ich muss mir mal das Tutorial ansehen. Ich denke das mit den Usern und der Userdatenbank wird das Schwierigste sein. Viele Grüße Horst |
Re: Messenger programmieren
wir benutzen für die Datenbank MySQL...Also schwer ist das nicht wirklich
|
Re: Messenger programmieren
Ich habe dazu ne Frage. Ein Freudn und ich wollen auch so nen Ding uns programmieren aber mit zusätzlichen Sharing ANgebot ;)
Nunja.. vorab haben wir ne Frage. Wir haben es bereits geschafft, nen simplen Chatt auf Netzwerkbasis zu schreiben. Jedoch wie sieht des nun im Netz aus? Welche IP wird nun verwendet? Und wie schaut des mit den Ports aus? Da haben wir Probleme, weil wir dazu nichts finden. mfg Cya |
Re: Messenger programmieren
Am einfachsten geht das mit nem Server, an dem sich die clients anmelden und der die angemeldeten Clients in ner db. verwaltet.
bzl. Sharing: bei routerleuten entweder port freigeben oder ihr müsst die daten so verpacken, dass es auch ohne läuft, wie icq5 glaube ich... hier steht einiges zu deiner ersten frage. :gruebel: |
Re: Messenger programmieren
Ich hab vor ner Ewigkeit auch mal ein Chat-Programm geschrieben. Mittlerweile habe ich es Opensource gemacht. Ihr findet es noch auf meiner
![]() Gruß Manzoni |
Re: Messenger programmieren
@Manzoni
Hallo und vielen Dank erstmal. Irgendwie finde ich folgenede Kompos nich alphablendform & taskbariconani & taskbariconani nicht. Grüße Horst |
Re: Messenger programmieren
Danke für den Tipp! Hatte die Dateien nur in einen falschen Ordner gelegt. Jetzt funktioniert alles.
|
Re: Messenger programmieren
Hi,
---> ![]() Der kann eigentlich alles : Chat, Cam2Cam, VoIP und File-Transfer !!! - Chat läuft auch ohne Portfreigabe(bei geöffnetem Port werden P2P-Connections verwendet) - für Cam2Cam und VoIP setze ich geöffnete Ports vorraus, weil das Programm umsonst angeboten wird und der Traffic sich natürlich in Grenzen halten sollte. Sonst könnte ich Bild und Ton auch ohne Portfreigabe als Upload über die Kommunikationsserver streamen. - File-Transfer geht auch ohne geöffnete Ports ;-) Die Server Datenbank ist MySQL und dann gibt es noch ein paar Kommunikations-Server mit denen die Clients verbunden sind. Du hast oben aber nicht geschrieben, was "Dein messenger" alles können soll ?! Du solltest Dir aber auf jeden Fall bewußt seien, das sich so ein Messenger nicht "mal eben" programmieren lässt. Nicht mal das Konzept, die Struktur und vor allem das eigene Protokoll, sind schnell gemacht. An dem Stand wie TelWell jetzt online ist habe ich fast 1 Jahr gearbeitet und davon waren die ersten 3-5 Wochen nur das Konzept. Also überleg Dir gut auf was Du Dich da einlässt. Gruß |
Re: Messenger programmieren
Hola...
Einfach nur einen Messenger ohne Webinterface, ohne Filetransfer, ohne VoIp. Die Benutzer dürfen sich auch selber keinen Account erstellen, die Benutzerdaten bekommen sie zugeschickt. Zitat:
Grüße Horst |
Re: Messenger programmieren
Zitat:
|
Re: Messenger programmieren
mich auch :)
|
Re: Messenger programmieren
Ich würde die funktion patentieren lassen.
... |
Re: Messenger programmieren
Hi,
wie ich oben schon geschrieben habe, funktioniert das ganze mit meinem Kommunikationsservern. Die nichts anderes machen als TCP-Verbindungen anzunehmen und diese offen halten. Jegliche Daten für diesen Client werden dann in seine Connection geschrieben. D.h. : Client verbindet sich zum Kommunikation-Server. Dabei handelt es sich um eine ausgehende Verbindung, die von Router und Firewall im Normalfall nicht geblockt wird. Nach erfolgreicher Anmeldung und Verifizierung des Clients bei Server macht der Client nichts anderes, als in einem seperatem Thread alle paar ms zu prüfen ob Daten vom Server da sind. Wenn ja werden die ankommenden Daten je nach Format geparst ud verarbeitet. Will der Client Daten zu Client2 schicken, funktioniert das wie folgt: Client hat eine bestehende Verbindung zum Kommunikationsserver. Client schickt Nachricht über diese Verbindung zum Server. Server liesst die Nachricht, überprüft ob der Empfänger auch mit Ihm verbunden ist. Wenn ja schreibt er die Nachricht direkt in die Connection von Client2. Wenn nein, schikt der Kommunikationsserver die Nachriht an den Kommunikationsserver weiter, an dem Client2 verbunden ist. Dieser schreibt die Nachriht dann in die Connetion von Client2. Hoffe das Ablauf wurde deutlich, ansonsten fragt mich in TelWell :wink: :mrgreen: Greetz DataCool |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz