AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Konzeptfrage - Internet-Chat als Freeware, wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Konzeptfrage - Internet-Chat als Freeware, wie?

Ein Thema von hincapie · begonnen am 20. Feb 2008 · letzter Beitrag vom 19. Mär 2008
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#11

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 06:04
Zitat von QuickAndDirty:
Er meint du kannst dir vom Client aus einfach direkt auf den chat verbinden
den trägt man dann als DNS name ein und er ist über DYNDNS immer erreichbar auch wenn die IP sich ändert
Es soll ja gerade keinen zentralen Server geben, auf meiner Webseite werden nur die Kontaktdaten der einzelnen aktiven Server (d. h. des jeweiligen Computers, auf dem der eigentliche Chat-Server läuft) bereitgestellt und an die Clients übermittelt.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#12

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 06:36
Und wo ist genau das Problem?
  Mit Zitat antworten Zitat
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#13

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 06:38
Also, nach einigen Tipps werde es jetzt wohl so machen:

Eine MySQL-Tabelle für die Daten der Server (IP-Nummer, Port und weitere Infos) ist auf meinem Webspace bereits eingerichtet.
Eine PHP-Datei mit den Zugangsdaten der Datenbank liegt dort ebenfalls bereit.

Die gesamte Kommunikation zwischen den Servern bzw. Clients und dieser Datenbank wird über PHP-Scripte gesteuert.
Dabei verwende ich die Komponente IdHttp von Indy, um die auf den lokalen Rechnern zusmmmengestellten Scripte an die Datenbank zu senden.

Im einzelnen:
Der Server sendet beim Anmelden einen SQL-INSERT-Befehl über IdHttp, damit er in die Datenbank aufgenommen wird.
Der Client sendet ein Script mit einem SELECT-Befehl zur Anzeige der aktiven Server, zum Einloggen wird dann die entsprechende IP übernommen.
Beim Abmelden sendet der Server einen DELETE-Befehl, um den Datensatz aus der Datenbank zu löschen.

Zur Anzeige der aktiven Server plane ich einmal eine PHP-Datei mit HTML-Befehlen zur Darstellung im Browser sowie ein Script mit reinem PHP, um möglichst nur die Daten aus der Datenbank an die Clients zu schicken.
Dabei plane ich, die Felder der Datenbank mit Kommas und die einzelnen Datensätze mit
z. B.
zu trennen, um sie eventuell in eine Stringlist laden zu können.

Wäre nett, wenn jemand mal checken könnte, ob ich irgendetwas vergessen habe oder ob es vielleicht einfacher gehen könnte...
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#14

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 06:45
Warum greifst du nicht direkt aus Delphi auf die MySQL-DB zu?

Klar, manche/viele Anbieter erlauben nicht den externen Zugriff auf ihre MySQL-Server, aber so ist es doch auch doppelt-gemoppelt?
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 07:33
Zitat von Nuclear-Ping:
Warum greifst du nicht direkt aus Delphi auf die MySQL-DB zu?

Klar, manche/viele Anbieter erlauben nicht den externen Zugriff auf ihre MySQL-Server, aber so ist es doch auch doppelt-gemoppelt?
Aber so ist er von der Datenbank völlig unabhängig und kann sich mit dem PHP-Script seine eigene "Spezifikation" schaffen.

Alles hat Vor- und Nachteile. =)

Zitat von hincapie:
Der Server sendet beim Anmelden einen SQL-INSERT-Befehl über IdHttp, damit er in die Datenbank aufgenommen wird.
Der Client sendet ein Script mit einem SELECT-Befehl zur Anzeige der aktiven Server, zum Einloggen wird dann die entsprechende IP übernommen.
Beim Abmelden sendet der Server einen DELETE-Befehl, um den Datensatz aus der Datenbank zu löschen.

Zur Anzeige der aktiven Server plane ich einmal eine PHP-Datei mit HTML-Befehlen zur Darstellung im Browser sowie ein Script mit reinem PHP, um möglichst nur die Daten aus der Datenbank an die Clients zu schicken.
Dabei plane ich, die Felder der Datenbank mit Kommas und die einzelnen Datensätze mit
z. B.
zu trennen, um sie eventuell in eine Stringlist laden zu können.
Mal greifst du direkt auf die Datenbank zu, mal gehst du über ein Webinterface. Da hat Nuclear-Ping schon recht. Man könnte auch alles direkt vom Server lesen. Schließlich sind die Verbindungsdaten ja sowieso schon im Programm. (Ich weiß, ich weiß, ich habe dir ja auch erst etwas anderes empfohlen. )

Was machst du eigentlich, wenn sich der Server nicht korrekt abmeldet, sondern einfach abstürzt (sei es durch Stromausfall oder Mutwillen)?
  Mit Zitat antworten Zitat
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#16

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 08:06
Hhhmmm, ich möchte das ganze so einfach und flexibel wie möglich halten, daher scheint mir der Zugriff mit PHP am besten.

Knackpunkt ist eben noch die Übertragung der Server-Daten an die Clients:
Mir wäre am liebsten, möglichst nur die Daten aus der Tabelle zu schicken und im Client z.b. in einer Listbox darzustellen.
Eventuell sollte ich da nach jedem Datensatz anstatt
lieber die PHP-Anweisung /n benutzen?

Beim Absturz eines Servers?
Gute Frage, dafür gibt es ja diesen Thread...
Vielleicht irgendwie mit einem PHP-Script die Erreichbarkeit des Servers überprüfen?
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#17

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 08:15
hm... ich kann das Gesamtkonzept dieses Chatsystems nicht recht nachvollziehen. Wieso brauch man mehrere Server?
Ein zentraler Server genügt doch und jeder Client meldet sich über ein definiertes Protokoll an. Der Server (DynDNS- oder no-ip-URL) übernimmt die Verwaltung der Kommunikation zwischen den Clients und das wars (siehe IRC). Das wäre doch wesentlich einfacher als so eine komplizierte Geschichte
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 08:28
Zitat von hincapie:
Hhhmmm, ich möchte das ganze so einfach und flexibel wie möglich halten, daher scheint mir der Zugriff mit PHP am besten.
Es muss ja nicht PHP sein. Du kannst auch Delphi-Programme (bzw. jegliches Kompilat aller möglichen Programmiersprachen) über das CGI auf einem Webserver laufen lassen. Die Einrichtung ist nicht weiter schwierig. Der Anbieter muss CGIs nur unterstützen. Solltest du da Interesse haben, kannst du dich gerne an mich wenden.

Zitat von hincapie:
Knackpunkt ist eben noch die Übertragung der Server-Daten an die Clients:
Mir wäre am liebsten, möglichst nur die Daten aus der Tabelle zu schicken und im Client z.b. in einer Listbox darzustellen.
Eventuell sollte ich da nach jedem Datensatz anstatt
lieber die PHP-Anweisung /n benutzen?
Ich verstehe deinen Wunsch nach Kapselung und kann ihn nur unterstützen.
Deshalb ein paar Gedanken:
Du solltest auf dem Masterserver, der die Server verwaltet, ein Interface einrichten. Darüber können Clients die aktuellen Server abfragen und die Server ein- bzw. austragen.
Der Vorteil ist, dass du das Masterserverprogramm beliebig verändern kannst, solange die Schnittstelle erhalten bleibt. Typisch für OOP eben.
Es können aber Probleme auftreten. Du musst die Anfragen deines Chatprogramms eindeutig identifizieren. Was passiert, wenn eine falsche Anfrage ankommt? (z.B. könnte sich ein Script als Server ausgeben und eintragen lassen, obwohl es gar kein Server ist.)
Bei der Ausgabe der Serverliste brauchst du dir hingegen keine großen Sorgen machen.

Zitat von hincapie:
Beim Absturz eines Servers?
Gute Frage, dafür gibt es ja diesen Thread...
Vielleicht irgendwie mit einem PHP-Script die Erreichbarkeit des Servers überprüfen?
Dafür könnte man einen Cronjob einrichten bzw. das Masterserverprogramm gleich als Dienst auf dem Masterserver laufen lassen.

Ziemlich kompliziert. Ich lasse mich auch gerne belehren, wenn jemand eine bessere Idee hat. =)
  Mit Zitat antworten Zitat
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#19

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 11:36
Zitat von Xong:
...
Ziemlich kompliziert.
...
Puuh, ich glaube das übersteigt etwas meinen Horizont...
Mit CGI kenn ich mich gar nicht aus, schon gar nicht zusammen mit Delphi...

@ Xong:
Falls Du genügend Geduld hast, kannst Du mir das ja mal näher erläutern...
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Konzeptfrage - Internet-Chat als Freeware, wie?

  Alt 22. Feb 2008, 12:09
Zitat von hincapie:
Puuh, ich glaube das übersteigt etwas meinen Horizont...
Ach was! Ich hab´s auch hinbekommen.

Zitat von hincapie:
Mit CGI kenn ich mich gar nicht aus, schon gar nicht zusammen mit Delphi...
Das schöne ist ja, dass es da gar keinen Zusammenhang gibt.

Zitat von hincapie:
Falls Du genügend Geduld hast, kannst Du mir das ja mal näher erläutern...
Gern, aber erst nach der Arbeit. Ich melde mich heute Abend/Nacht nochmal hier. Vielleicht Editiere ich den Beitrag einfach, also halt die Augen steif... äh offen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr.
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