![]() |
Chat mit Indy über Internet
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 :mrgreen: |
Re: Chat mit Indy über Internet
Hallo :hi:,
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. :mrgreen: MfG freak -.-" |
Re: Chat mit Indy über Internet
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... |
Re: Chat mit Indy über Internet
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...
|
Re: Chat mit Indy über Internet
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 -.- |
Re: Chat mit Indy über Internet
Wenn du einen router hast, dann muss du zuerst port-forwarding machen...
|
Re: Chat mit Indy über Internet
Zitat:
[edit]jetzt kann ich mit anderen Chatten aber der Client bekommt die antworten von Server nicht. Umgekehrt schon o.O[/edit] |
Re: Chat mit Indy über Internet
Zitat:
![]()
Delphi-Quellcode:
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.
<?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; ?> 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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 by Thomas Breitkreuz