AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Chat mit Indy über Internet

Chat mit Indy über Internet

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

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Chat mit Indy über Internet

  Alt 3. Jun 2005, 14:08
Ich glaube das Problem gab es schon öfter aber es konnte mein Problem nicht lösen.
Ich möchte einen Internet Chat mit den IDTCP Komponenten machen. Abgesehen das ich kaum Ahnung von Indy hab und ich den Chat im Moment nichtmal im LAN zum laufen bringe würde ich gerne wissen welche Möglichkeiten es gibt die IP eines Servers herauszubekommen. Also da wo sich die User einklinken in den Chat.

PS: Indy Tutorial hatte ich schon^^ und bitte auf meine Hauptfrage konzentrieren, das mit dem LAN bekomme ich schon hin
Michael
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Chat mit Indy über Internet

  Alt 3. Jun 2005, 14:17
Hallo ,
ist vielleicht etwas umständlich, aber wenn ein Client/Server im Internet ist, könnte er seine IP irgendwo zugänglich machen, zB als Textdatei auf einen Webserver.

Das nur mal als Idee, es gibt bestimmt bessere Lösungen.

Mich interessiert das auch, den LANChat hatte ich mehr oder weniger erfolgreich hinbekommen.

MfG
freak -.-"
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Chat mit Indy über Internet

  Alt 3. Jun 2005, 14:21
Ja an sowas hatte ich auch gedacht.
Das Problem ist das es eigentlich keinen festen Server geben soll sondern das jeder einen Server aufmachen kann. Und das gibt dann Chaos. Wobei es im Notfall auch nur mit einem Server gehen würde...
Michael
  Mit Zitat antworten Zitat
Benutzerbild von XHelp
XHelp

Registriert seit: 12. Jul 2004
Ort: Duisburg
172 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Chat mit Indy über Internet

  Alt 3. Jun 2005, 16:41
Hast du einen webspace? wenn ja, dann kann man das mit hilfe eines php scripts lösen, dass alle chaträume (servers) in eine liste eingetragen werden und dass der user aussuchen kann, zu welchem server er die verbindung aufbauen will...
Alex
Von allen Dingen die mir verloren gegangen,
hab ich am meisten an meinem Verstand gehangen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Chat mit Indy über Internet

  Alt 6. Jun 2005, 15:07
Also über LAN klappts jetzt. Nur Internet ist ein Problem : Ich habe einen Router.
Wie soll denn bitte jemand zu mir connecten können wenn jeder PC bei uns dieselbe IP hat ??

Auf Deutsch : Internet funktioniert kein bisschen -.-
Michael
  Mit Zitat antworten Zitat
Benutzerbild von XHelp
XHelp

Registriert seit: 12. Jul 2004
Ort: Duisburg
172 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Chat mit Indy über Internet

  Alt 6. Jun 2005, 15:57
Wenn du einen router hast, dann muss du zuerst port-forwarding machen...
Alex
Von allen Dingen die mir verloren gegangen,
hab ich am meisten an meinem Verstand gehangen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Chat mit Indy über Internet

  Alt 6. Jun 2005, 17:50
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]
Michael
  Mit Zitat antworten Zitat
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, 01: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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:38 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