AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Chat mit Indy über Internet
Thema durchsuchen
Ansicht
Themen-Optionen

Chat mit Indy über Internet

Ein Thema von Neutral General · begonnen am 3. Jun 2005 · letzter Beitrag vom 20. Jun 2005
 
hardy1234

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

Re: Chat mit Indy über Internet

  Alt 20. Jun 2005, 00:30
Zitat von Neutral General:
Zitat von XHelp:
Wenn du einen router hast, dann muss du zuerst port-forwarding machen...
Port Forwarding ? Also ich habe jetzt Ports freigegeben auf meinem Router. Jetzt kann ich schonmal über die Internet IP mit mir selbst chatten

[edit]jetzt kann ich mit anderen Chatten aber der Client bekommt die antworten von Server nicht. Umgekehrt schon o.O[/edit]
Ich würde mal darüber nachdenken nen Internet-Server mit Apache(kostet nix, LAMP empfiehlt sich) aufzusetzen. Dafür besorgt man sich bei www.dyndns.org ne Url zu seiner dynamischen IP(kostet nix). Dann installiert man ein PHP-Script, das etwa so aussehen könnte:

Delphi-Quellcode:
<?php
  $command = $_GET['command'];
  $servername = $_GET['servername'];
  if ($command == "getdynamicip") {
    $result = getenv("REMOTE_ADDR"); 
  }

  if ($command == "getdynamichost") {
    $result = getenv("REMOTE_HOST"); 
  }
  
  if ($command == "getserverip") {
    $result = getenv("SERVER_ADDR"); 
  }
  
  if (($command == "getdynserver") and ($servername <> "")) {
    $result = gethostbyname($servername); 
  }
 
  if (($command == "getownwebname") and ($servername <> "")) {
    $result = gethostbyaddr($servername); 
  }

  if (($command == "getownwebip") and ($servername <> "")) {
    $result = gethostbyname($servername); 
  }

  if ($command == "getall") {
    $serverip    = getenv("SERVER_ADDR");
    $result      = "serverip = [$serverip]";   
    $serverdynip = gethostbyname($servername);     
    $result    .= ";serverdynip = [$serverdynip]";
    $clientip    = getenv("REMOTE_ADDR"); 
    $result    .= ";clientip = [$clientip]";
   $clientport  = getenv("REMOTE_PORT");
   $result    .= ";clientport = [$clientport]";
    if ($clientip <> "") {
      $clientfqdn  = gethostbyaddr($clientip);
      if ($clientfqdn <> "") {
        $result    .= ";clientfqdn = [$clientfqdn]";
      }
  
    }
  }
      
// $dynamicsrv1 = gethostbyname("meet-me-now.dyndns.org");
// $dynamicsrv2 = gethostbyname("meet-me-now.dnsalias.org");
// $result = "getserverip = [$serveraddr]";
// $result .= "/getdynamicip = [$remoteaddr]";

  echo $result;
?>
Nun muß man auf dem Sever einen Chat-Server mit Datenbank(geht auch ohne) aufsetzen. Der Client besorgt sich per Scriptaufruf(TIdHTTP) die relevanten Daten( das Script liefert alles Wissenswerte) und connected mit dem Chat-Server. Der Charm an der Geschichte ist, das man keine Probleme mit dem Router bekommt, gleich viel welcher das ist. Am eigenen Router muß für diesen Zweck lediglich der Port des Chat-Server als virtueller Server eingerichtet werden, damit der diesen Zugang von außen nicht sperrt.
Dann mußt Du dir noch ein eigenes Protokoll ausdenken und schon funzt das weltweit, wenn man den passenden Client zur Verfügung stell. Selbstverständlich per Download auf dem eigenen Web-Server.

Gruß Hardy
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
 


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 07: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