Delphi-PRAXiS
Seite 2 von 7     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi _kleines_ Chat programm (https://www.delphipraxis.net/120344-_kleines_-chat-programm.html)

daniel-h 14. Sep 2008 16:16

Re: _kleines_ Chat programm
 
ich hab bei funpic.de nen ftp server (standard)
und dann habe ich eben mysql aktiviert, da kann man datenbanken usw erstellen, kann das irgendwie weiter helfen?

Namenloser 14. Sep 2008 17:45

Re: _kleines_ Chat programm
 
Du kannst bei Funpic soweit ich wieß nicht von außen auf die Datenbank zugreifen (was auch ein Sicherheitsrisiko wäre). Wenn du dich mit PHP auskennst, kannst du aber damit ein Script schreiben, das die Benutzerdaten prüft.

Du kannst dann das Script in deinem programm mit den Parametern aufrufen: http://foobar.fo.funpic.de/script.ph...sswort=susi123. Wenn das Script dann z.b. "OK" zurückgibt, sind Passowrt und Benutzername gültig.

Ist allerdings keine 100%ig sichere methode, weil ich z.B. über die Hosts-Datei die Amfrage auf einen eigenen Server umleiten kann, der imemr OK zurückgibt. Aber ich denke mal, das ist in deinem fall zu vernachlässigen (komtm drauf an woran du arbeitest).

Denke bitte daran, die passwörter in der DB nicht im Klartext zu speichern, sondern z.B. per md5 zu hashen und dann nur den hash zu prüfen.

daniel-h 14. Sep 2008 17:53

Re: _kleines_ Chat programm
 
also dass das nicht gerade eine sichere methode ist, wusste ich schon.
brauch es auch net, also ich meine ich werde das net öffentlich machen, das ist nur für meinen freundeskreis.
aber leider kann ich net mit php umgehen, könntest du mich unterstützen?

Balu der Bär 14. Sep 2008 18:46

Re: _kleines_ Chat programm
 
In der Tutorial-Sparte des Forums gibt es einen Thread "Einen CHat mit den Sockets programmieren". Da werden Sie geholfen.

daniel-h 14. Sep 2008 19:30

Re: _kleines_ Chat programm
 
ich hab mir as tutorial schon tausend mal durch gelesen...
mein chat habe ich damit ja gemacht
nur noch an ein paar stellen verbesser aber ich sehe da nirgends was, was mit php zu tun hat.
oder ich bin zu blöd :lol:

Namenloser 14. Sep 2008 20:21

Re: _kleines_ Chat programm
 
Die meisten Chat-Tutorials sind auf Chats im lokalen netzwerk ausgerichtet. Im LAN lohnt sich ein Anmeldevorgang normalerweise natürlich nicht. Was du machen willst, ist sicher ein Chat über das Internet.

Ansatz:
- PHP-Script auf Gratisserver prüft die Logindaten
- Wenn die Logindaten korrekt sind wird die IP-Adresse mit der eindeutigen ID des Nutzers in eine Liste/Datenbank geschrieben
- Alle angemeldeten Benutzer pollen regelmäßig diese Liste und prüfen, ob Nutzer sich angemeldet oder abgemeldet haben
- Wenn der Nutzer Bob die Nutzerin Alice anschreibt, wird eine Nachricht an an die Ip-Adresse von Alice verschickt. Auf dem Computer von Alice muss dafür ein Server auf einen bestimmten Port lauschen. Wenn eine eingehene verbidnung ankommt, nimmt der Server auf Alice' Computer dann (ggf. nach einer Überprüfung) die verbindung an und schickt eine Bestätigung über die verbindung an Bob.
- Über diese verbindung können dann nachrichten ausgetauscht werden

Nachteil:
- Wenn Alice hinter einem Router sitzt, ist Alice' Computer nicht direkt mit dem Internet verbunden. Das heißt, über die von außen sichtbare IP-Adresse ist nur der Router erreichbar. Deshalb muss der Router so eingestellt werden, dass er bestimmte Pakete an Alice' Computer weiterleitet (Portforwarding). Diese Einstellung muss entweder manuell im Router-Menü eingestellt werden (heißt, deine Nutzer dürfen keine totalen DAUs sein), oder per UPNP (falls dieses aktiviert ist). Ich habe bis jetzt aber noch keine funktionierende Lösung gefunden, um mit Delphi per UPNP einen port weiterzuleiten. Wenn du eine funktionierende Lösung findest, lass es mich wissen :mrgreen:
- Es können imemr nur 2 Leute miteinander chatten.

Mögliche Abhilfe:
- Zentraler Chat über einen zentralen server: Hierbei bracuht keienr der Nutzer einen lokalen Server um verbindungen anzunehmen, sondern alle Nutzer verbinden sich mit einem von dir administrierten, zentralen Server. Dieser Server leitet dann die eikommenden nachrichten an die Clients weiter.

Für letzteres musst du aber entweder einen Root/V-Server anmieten (nicht ganz billig), weil du ein Programm auf dem Server ausführen musst (bei Funpic geht das nicht). Du kannst auch deinen eigenen Rechner als Server einrichten (musst dann halt den Port im Router weiterleiten, dafür müssen deine Nutzer das nicht), was aber den nachteil hat, dass die geschwindigkeit bei privaten DSL-Anschlüssen nicht so berauschend ist.

daniel-h 14. Sep 2008 20:58

Re: _kleines_ Chat programm
 
bis jetzt habe ich meinen pc immer als lokalen server benutzt.
also ich habe das serverprogram immer im hintergrund benutzt.
der nachteil ist halt, für meine nutzer, der server ist nicht immer erreichbar, also nur wenn ich das programm am laufen habe.

jokerfacehro 15. Sep 2008 11:14

Re: _kleines_ Chat programm
 
hey danielH

du musst dir ein eigenes protokoll ausdenken, mit welchem du einzelne befehle an den server schicken kannst.

ich hab vor 2 jahren nen chat programmiert, allerdings mit TServerSocket und TClientSocket, eine alte version davon ohne source findest du hier.

ich lad den source nacher mal hoch. anhand von beispielen lernt man schneller :)

der chat hat ne userliste, mute,kick,ban und pm funktion

und jeder chatserver den man aufmacht, wird auf einem masterserver per phpscript eingetragen

desweiteren ist spamschutz, smileys.


edit: der chat hat einen zentalen chatserver, dieser kann auf dem eigenen rechner oder einem root server laufen, aber wie gesagt
---> wenn der server hinter einem router läuft muss portforwarding an sein


ich schätze das ist auch die beste lösung: ein masterserver im Inet für die derzeitige ipadresse und port des chats, der chatserver und beliebig viele clients, wenn die clients keine server kompo verwenden, brauchen diese auch kein portforwarding. wenn man allerdings eine direktdatenübertragung zwischen 2 clients machen will z.B. bilder rüberschicken wirds problematisch.

man kann den server port auch von innen öffnen, indem man sagt, ich will eine verbindung über den server port nach außen z.B. zu port 80 aufbauen.
sooo, jetz muss der port auch vom router geöffnet werden und der port bleibt bis zum timeout des routers offen je nachdem 2minuten, somit kann man das portforwarding umgehen ist allerdings keine feine lösung

smallsmoker 15. Sep 2008 11:57

Re: _kleines_ Chat programm
 
erstmal sollte er das tut durcharbeiten das ich ihm gegeben habe das ist fürs erste genug stoff :P
mfg smallsmoker

jokerfacehro 15. Sep 2008 15:18

Re: _kleines_ Chat programm
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier is ma mein chat als bsp

zum compilieren braucht man CoolTrayIcon und die JvGIF, schon so lange her :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.
Seite 2 von 7     12 34     Letzte »    

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