![]() |
_kleines_ Chat programm
erstmal hallo,
also ich bin ein ziemlicher frischling (hier im forum) und auch in delphi also seit mir nicht böse, wenn ich dumme fragen stelle :oops: :lol: okay zu meiner frage: ich habe vor, mit den indy komponenten einen kleinen chat zu proggen. aber ich weiss net wie ich anfangen und das alles coden soll :pale: natürlich habe ich schon die sufu benutzt aber das aht mir noch nicht wirklich geholfen es wäre sehr net, wenn mir einer oder mehrere mich unterstützen könnten mfG DANIEL |
Re: _kleines_ Chat programm
Herzlich Willkommen in der DP :dp:
Schau mal bei den Demo Programmen da sollte soetwas dabeisein. Allerdings ist das nen Stück Arbeit, nen Chat zu Programmieren, wenn du neu bist in Delphi. Vllt solltest du erst mit was kleinerem Anfangen ;) EDIT: ![]() |
Re: _kleines_ Chat programm
ja blutiger anfänger bin ich jetzt net war ein bisschen untertrieben ...ja egal...
ja das ist schon net schlecht aber ich kom da schon nicht weiter, weil ich diese sockets net habe (personal edition) kann man sich dieses package vllt. irgendwo runterladen? mfG Daniel |
Re: _kleines_ Chat programm
|
Re: _kleines_ Chat programm
wenn du so neu bist solltest du vieleicht erstmal mit den winsockets anfangen die sind auch schon (meißtens) in delphi integriert,
wenn nicht findest du ![]() zur Netzwerk-Programmierung mit Delphi. mfg smallsmoker p.s.: kann dir das wirklich nur wärmstens empfehlen ! €: der link führt dich direkt zu einem turorial was erklärt wie man ein einfaches chat-programm bastelt. |
Re: _kleines_ Chat programm
hallöchen,
@ smallsmoker danke für den link :thumb: :thumb: dieser trick, wo man die komponente in die ide einfügen kann ist wirklich super genau das was ich suchte das tut werde ich mir später gegen abend mal reinpfeifen weil ich noch ha's machen muss (hausaufgaben) :kotz: :wall: mfG DANIEL :hi: |
Re: _kleines_ Chat programm
hab hausaufgaben feddisch :P
und hab mich sofort an delphi rangemacht und was soll ich sagen?!!? :?: habs geschaft natürlich kann man noch sachen verbessern aber fürs erste reichts hab den chat bei uns him netzwerk geteste und funktioniert bestens mfG DANIEL |
Re: _kleines_ Chat programm
jetzt stell ich mir die frage, wie kann ich das so hinbekommen, das man sich erst registrieren muss und das man dann sein passwort und nickname vorher erst eingeben muss?
also ich meine es so: benutzer registriert sich --> (mit delphi eine datenbank proggren?) bevor der user chatten kann, wird er darauf aufgefordert passowrt und nick einzugeben. eingabe senden an datenbank | wenn nick und passwort richtig | einloggen | und wenn falsch fehlermeldung. kann man das irgendwie umsetzen mfG DANIEL |
Re: _kleines_ Chat programm
Eigentlich müsste das wie folgt gehen:
Jemand registriert sich (Eintrag in der OnlineDatenbank hinzufügen). Dann hast du nen Form (frmEinloggen). Da gibt er Name und Passwort ein, welche mit der Datenbank verglichen wird! Wenn die Eingaben richtig sind, kommt man zum nächsten Form (frmChat) ansonsten ne Fehlermeldung. Einfach mal in der DP nach Datenbankprogrammierung suchen ;) |
Re: _kleines_ Chat programm
ich hab bei der sufu leider nichts geeignetes gefunden :?
würde es denn auch gehen, wenn ich einen server programmiere so wie bei den chat tutorials, nur das sich daruf kennwörter und nicknames befinden ich hätte jetzt gedacht mit dem indy komponent TIDUserManager? geht das vllt. auch? |
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? |
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: ![]() 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. |
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? |
Re: _kleines_ Chat programm
In der Tutorial-Sparte des Forums gibt es einen Thread "Einen CHat mit den Sockets programmieren". Da werden Sie geholfen.
|
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: |
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. |
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. |
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 |
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 |
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: |
Re: _kleines_ Chat programm
der wäre als beispiel bestimmt gut aber ohne die se komponente, siehts sclecht aus. :wink:
|
Re: _kleines_ Chat programm
wieso ?
es ist alles genauso, bis auf das senden und empfangen, was du ja bereits geschaft hast, der rest ist kompo-unabhängig. mach nen befehl zum einloggen, wenn login korrekt, gibt der server dem user ne id.diese id speichert der server zusammen mit den anderen userdaten und wenn der user was schreibt schickt er immer seine id mit. somi haste ne eindeutige identifizierung, du kannst den user auch anhand des sockets identifizieren, wie du willst, gibt unendlich viele möglichkeiten :D edit: hab grad nen chat server laufen, wer will kann joinen und fragen stelln wenn er will :mrgreen: name: blumenhund's chatserver |
Re: _kleines_ Chat programm
mmmh...
also ich meine, wenn ich entweder die server.dpr oder die client.dpr öffnen möchte kommt die meldung, dass ich diese komponente halt net habe oder muss ich das in meinem fast chat irgendwas einbinden :?: :?: |
Re: _kleines_ Chat programm
Zitat:
|
Re: _kleines_ Chat programm
Zitat:
![]() ![]() |
Re: _kleines_ Chat programm
Zitat:
![]() ![]() |
Re: _kleines_ Chat programm
Habt ihr beide auf Zitat statt Editieren gedrückt? o_O
|
Re: _kleines_ Chat programm
ich ja :lol: :lol:
|
Re: _kleines_ Chat programm
ich nich siehe oben mein zitat im beitrag mit dem anhang
A | | |
Re: _kleines_ Chat programm
ich würde das gerne mit einem php script auf funpic.de machen aber ich kann kein php.
hab auch schon gegoogelt aber nichts gefunden. kann mir vllt jemand helfen :roll: ich habe auch immer andere probleme :| |
Re: _kleines_ Chat programm
Hallo!
Ich hab jetzt nicht alles durchgelesen, jedoch weiß ich dass du einen Chat bauen willst(über das Internet). Da war ich auch einmal ;), mit dem Portforwading bin ich nicht weiter gekommen, also habe ich mir gedacht ich mach das einfach über irc! Und das ist mein Chat-Programm ![]() Das Programm verbindet sich mit Hilfe von der "Tidirc" Komponente zu einen Irc-Server im Internet, und erstellt einen Channel - in welchen man dann chatten kann. ^Den Source findest du unter: ![]() *Benötigt werden: Tidirc(Indy) "Wichtig! Einbinden von "idContext" zu der Uses list" (Alphaskins Light Version) "Nicht umbedingt notwendig!" Also, ich hoffe das^ hilft dir, ist besser als es über Php zu machen ;) lg |
Re: _kleines_ Chat programm
Zitat:
Zitat:
ich schick dir ma mein masterserver-script, is ziemlich einfach gestrickt: -wan ipadresse ausgeben -server in die liste aufnehmen und mit fsockopen eine verbindung aufbauen um zu testen ob der server ausm inet erreichbar ist. -server aus der liste löschen, wenn fsockopen fehlschlägt -serverliste ausgeben |
Re: _kleines_ Chat programm
wenn ich mich nich irre wurde in #20 doch ein chat gepostet der auch über php läuft :)
mfg smallsmoker |
Re: _kleines_ Chat programm
ja, schon
hab den chat auch benuzt aber mir geht es ja darum, nen igenen chat zu machen und nicht einfach einen zuübernehmen mfG DANIEL |
Re: _kleines_ Chat programm
Also ich würde auf keinen fall mehr als die Anmeldung über PHP laufen lassen, weil du imemr wieder neue Requests starten müsstest, weil PHP-Scripte meistens nur eine Laufzeut von ein paar Sekunden haben. Diese andauernden neuen Requests erzeugen viel Traffic und CPU-Last und sind deswegen bei den meisten Hostern nicht erlaubt.
Gerade bei Funpic solltest du aufpassen! Ich hatte da mal einen Account und habe unwissentlich mit einem Script eine Datei knapp über der "maximal erlaubten dateigröße" erstellt (die glaube ich ca. 2 mb beträgt aber nirgendwo definiert war), und mein Account wurde von heute auf morgen ohne Vorwarnung komplett gelöscht. |
Re: _kleines_ Chat programm
lest euch meinen beitrag ordentlich durch dann seht ihr dass das anders funzt als ihr denkt xD
der masterserver ist ein phpscript auf einem webserver wo alle chatserver registriert werden. der client selber bekommt vom masterserver nur die chatserverliste. dann verbindet sich der client zu dem chatserver und meldet sich da mit passwort und login an, wenn er bereits registriert ist, ansonsten ist er trial ohne rechte |
Re: _kleines_ Chat programm
das stimmt allerdings...
ich hab mich mal mit dem php script beschäftigt und auch mit dem chat da war nichts mit cpu-last oder probleme mit dem traffic wollte ich nur mal so sagen mfG DANIEL |
Re: _kleines_ Chat programm
mein chat funzt jetzt auch über inet :hello: :dancer2:
:cheers: |
Re: _kleines_ Chat programm
Zitat:
|
Re: _kleines_ Chat programm
ja morgen
in alter frische :mrgreen: :tongue: bin müüüüde *gäähn* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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