Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Problem mit Chat (https://www.delphipraxis.net/156807-problem-mit-chat.html)

Daniel Spatkowski 15. Dez 2010 15:27

Problem mit Chat
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, weiß nicht ob solch eine Frage schonmal gestellt wurde, aber habe mir einen Chat programmiert. Soweit sogut. Er funktioniert aber nur innerhalb meines Netzwerkes. Also bsp. Von meinem Netbook zu einem anderen Rechner in diesem Haus. Nun möchte ich aber auch Leute außerhalb erreichen. Das Programm erstellt unter meiner IP automatisch einen Server, der direkt nach Programmstart für andere erreichbar ist, aber halt nur in diesem haushalt. Wie bewerkstelle ich das, dass ich auch andere Menschen, die mein Programm besitzen, erreichen kann bzw. mit denen Chatten kann?

pustekuchen 15. Dez 2010 15:31

AW: Problem mit Chat
 
Hast du den Port freigegeben?

DeddyH 15. Dez 2010 15:32

AW: Problem mit Chat
 
Dazu müsste auf dem Server PortForwarding eingerichtet werden. Die Gegenstellen erreichen ihn dann nicht über seine interne IP, sondern über die des Routers.

idefix2 15. Dez 2010 15:39

AW: Problem mit Chat
 
Dafür wird wohl eine Portweiterleitung am Router nötig sein.

Wenn ein PC in einem fremden Netz auf Deinen PC zugreifen will, kennt er ja nur die externe IP Adresse des Routers. Der Router muass dann die Anfrage auf den richtigen Rechner in Deinem lokalen Netz weiterleiten.

edit: Mist, gleich doppelt zu langsam :)

edit2: @ DeddiH - Das Protforwarding muss er aber am Router einrichten, nicht am Server.

Daniel Spatkowski 15. Dez 2010 15:45

AW: Problem mit Chat
 
@pustekuchen:

wie geht das? also beim Verbinden passiert folgendes:

Code:
ClientSocket1.Host := edit2.Text;
ClientSocket1.Port := 6667;
ServerSocket1.Port := 6667;
...
ClientSocket1.Active:=true;
delay(500);
clientsocket1.open;

...
also Client und Server verwenden dann den selben Port, der als 6667 festgelegt ist.
Wenn ich mit dem selben Programm von dem Hauptrechner bei uns im Keller was schreibe, kommts auf meinem Laptop auch an. Nur halt nicht weiter nach außen.

Habs mit nem Kollegen vohin versucht, aber da kommt nach einigen Sekunden die 10061 (ansynchronus Error oder so) Fehlermeldung.



...

hab grad bemerkt dass neue Beiträge reingeschneit kamen^^.

Wie funzt das mit der Portweiterleitung? kenn mich nicht janz so gut aus, lerne aber schnell^^

hab mir das mit dem chat aus nem tutorial programmiert, die fehler und das mit dem Server nachher nachträglich in einem Programm zusammengefasst, damit der Server sich direkt bei Programmstart aufbaut. (nach dem Tutorial hat nix funktioniert, als ich experimentiert hab, konnte ich wenigstens mit anderen Rechnern kommunizieren, aber halt, wie gesagt, nur im eigenen Haushalt^^)

DeddyH 15. Dez 2010 15:50

AW: Problem mit Chat
 
Zitat:

Zitat von idefix2 (Beitrag 1068708)
@ DeddiH - Das Protforwarding muss er aber am Router einrichten, nicht am Server.

Ich meinte ja auch den Router, an dem der Server hängt ;)
@T.E.: Wie das genau geht, hängt vom verwendeten Router ab, schau doch dort einmal in der Konfiguration nach Port Forwarding bzw. NAT.

Sir Rufo 15. Dez 2010 15:56

AW: Problem mit Chat
 
Frag dich doch mal, welches Gerät bei dir direkt mit dem Internet verbunden ist.

Das Gerät hat eine IP-Adresse, die vom ganzen Internet erreichbar ist.
Kommt jetzt eine Anfrage von draußen, dann trifft diese auf den Router und was soll der damit anfangen.
Weitergeben ... An wen?

Dafür stellt man die Portweiterleitung am Router ein.

Die Clients ausserhalb müssen jetzt aber auch deine aktuelle Internet-IP wissen (die ändert sich idR täglich/bei jedem Verbindungsaufbau)

Also am besten einen Eintrag bei DynDns besorgen und am Router die Aktualisierung einstellen (sofern er das kann)

Das war's so in groben Zügen


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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