Thema: Delphi Dezentraler Chat?

Einzelnen Beitrag anzeigen

hardy1234

Registriert seit: 8. Aug 2004
Ort: Hamburg
26 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Dezentraler Chat?

  Alt 18. Nov 2005, 07:37
Hi,

ich mach gerade sowas. Das Problem haben die Anderen hier im Forum schon richtig beschrieben, das ist und bleibt der Router. Der setzt die tatsächliche IP des Clients in die zugewiesene IP des Providers um und merkt sich dann den internen Client zu der Verbindung.

Gelöst kriegt man das nur mit der "man in the middle" Methode. Du brauchst also mindestens einen Server der die IP-Adressen aller Clients die online sind vorhält. Das läßt sich verhältnismäßig leicht mit nem LINUX-Rechner (kann auch Windoofs mit LAMP sein) und Apache2 lösen. Dafür holt man sich bei Dyndns.org ne URL die vom Router jeweils refreshed wird.

Dann installiert man, z.B. mit Firebird (weil kostet nix) ne passende Datenbank und legt hinter das ganze nen Server der auf die DB zugreift und alle Clients speichert (mit nick und ip). Der Client muß dann selbst seine IP auffrischen, falls die sich ändern sollte, was manchmal ziemlich exessiv vom Provider ausgelöst wird (macht der um die IP's wieder frei zu kriegen).

Jeder Client fragt dann beim Server an und der trägt dessen URl ein und gibt ne Liste mit den Clients zurück.

Bleibt das Problem mit dem Maskerading vom Router. I.d.R. kannst du 2 Clients übers Internet nicht direkt verbinden wenn beide hinter nem Router kleben. Dazu muss dann das Protkoll am Router freigegeben werden. Das kannst Du Otto Normalverbraucher aber kaum beibringen. Die Router sind in dieser Hinsicht meistens nicht besonders Benutzerfreundlich.

Am Ende ist also immer besser einen richtigen "man in the middle"-Server zu proggen und dem das Weiterleiten der Messages zu überlassen. Ist die einzig sichere Lösung das Problem mit den Routern zu umgehen.

Das läuft bei ICQ auch nicht anders. Das sind alles IRC-Chats die untereinander noch verknüpft werden können. Damit hast Du dann mehrere Server laufen, die die Vermittlung untereinander regeln.

Leider werden solche Server aber auch oft "gefloodet", das heißt massenweise Clients eingetragen bis der einknickt.
Es gibt keinen schöneren Tag als den heutigen. Der gestrige ist vorbei und von den kommenden weiß man nicht was sie bringen.
  Mit Zitat antworten Zitat