Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi [Verzweiflung]: Client- Serversocket finden sich nicht! (https://www.delphipraxis.net/137348-%5Bverzweiflung%5D-client-serversocket-finden-sich-nicht.html)

Balthasar 19. Jul 2009 09:45


[Verzweiflung]: Client- Serversocket finden sich nicht!
 
Folgende Anfrage wurde bereits in diesen Foren gestellt:
http://forum.delphi-treff.de/showthr...298#post196298
http://www.delphi-forum.de/topic_93757.html

Ich arbeite mit den Client- und Serversockets und versuche schon seit sehr sehr langer Zeit ein ganz einfaches simples Chattool zu schreiben womit ich mit meinen Kollegen kommunizieren kann, jedoch scheitere ich bei der Verbindung über das Internet (Asynchroner Socketfehler 10060), aber Lokal funtzt immer alles einwandfrei.
Nach langem Googeln und Suchen und nichts finden habe ich mich entschlossen zu fragen.

Anfangs fragte ich mich:
"Wieso funktioniert eine einfache Connection zwischen Client und Server nicht wenn Client oder Server sich auf einem anderen Computer befindet?"

Jetzt weiß ich jedoch das es an einem Router (sei es der von mir oder meinem Partner) liegen muss, versuche ich nämlich mit einem Kollegen OHNE Router
den Verbindungsaufbau dann klappts.
Einmal hat es auch funktioniert als ich und mein Kollege unsere Ports freigegeben haben, aber müssen nun alle Anwender meines Programms extra ihre
Router-Configs meinem Programm anpassen? Gibt es keine andere Möglichkeit?

Ganz kurz und knapp: Gibt es überhaupt eine Möglichkeit per "Delphi" einen Chattool zu schreiben welches keine Portfreigabe benötigt und mit Routern klar kommt?
Sind besondere oder andere Komponente dafür von Nöten?
Wie haben es Programme wie TeamSpeak geschafft? (TS soll ja in Delphi geschrieben worden sein).

Und hier einpaar zusätzliche Daten, keine Ahnung was das bringen soll aber ich bin schon sowas von am Ende mit dem Problem, da gehe ich von alles und allem aus:

Betriebssystem: Windows 7 (Getestet wurde mein Tool aber auch auf Vista)
Router: D-Link DI-524
Komponente: Clientsocket, Serversocket (Aber auch mit Indy habe ich es nicht geschafft)

/EDIT: Noch ne Frage, habe nur ich dieses Problem oder gibt es auch andere?

jaenicke 19. Jul 2009 09:57

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Dafür benötigst du einen echten Server im Internet, auf dem ein Serverprogramm läuft. Dann kannst du via Hole Punching auch ohne Portfreigabe einen Internetchat realisieren. Die Kosten für einen solchen Server belaufen sich auf mind. 10-15€ pro Monat oder mehr.

TeamSpeak ist da das falsche Beispiel, denn da wird auf Serverseite sehr wohl eine Portweiterleitung benötigt. Skype (für Voice) oder diverse Chatprogramme (für Dateiübertragungen z.B.) sind aber Beispiele. Und hier gibt es dazu auch einen Artikel:
http://www.heise.de/security/Wie-Sky...rtikel/82054/0

Das Problem hat mit Delphi jedenfalls gar nichts zu tun, sondern mit der Netzwerktechnik an sich. Es ist also egal mit welcher Sprache du es versuchst.

// EDIT:
Crosspost...
http://www.delphi-forum.de/viewtopic.php?p=571889

Balthasar 19. Jul 2009 10:06

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Danke für die Antwort, so in die Richtung dachte ich auch bereits aber wieso funtzt die Verbindung trotz Portfreigabe auf der Serverseite nicht?
Ursprünglich habe ich ja vorgehabt eine Art TS nachzuahmen, nur was macht TS was ich nicht mache? ^^

Uh.. ich dachte die 2 Foren hätten nichts miteinander zutun?

jaenicke 19. Jul 2009 10:10

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Zitat:

Zitat von Balthasar
aber wieso funtzt die Verbindung trotz Portfreigabe auf der Serverseite nicht?

Dann sollte es klappen, der Client benötigt keine Portweiterleitung.
Kann es sein, dass du statt der Internet-IP deine lokale IP hinter dem Router weitergegeben hast? Die ist natürlich lokal und damit geht es natürlich nicht.

Sonst müsstest du schon genauer schreiben was du da versucht hast.

Zitat:

Zitat von Balthasar
Uh.. ich dachte die 2 Foren hätten nichts miteinander zutun?

Ich bin nur in beiden angemeldet, und in diversen anderen auch.
Du solltest Crossposts eben angeben, weil andere sonst nicht sehen, dass die Antwort schon gegeben wurde und sich unnötig Mühe machen.

Balthasar 19. Jul 2009 10:18

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Hab mal oben auf Crossposting aufmerksam gemacht ^^.
Uhm, folgendes habe ich probiert:

ICH = Serverprogramm
KOLLEGE = Clientprogramm

Genauere Beschreibung:

ICH habe die Routereinstellungen geöffnet und unter "Anwendungen" (NICHT unter "Virtueller Server", da hats nie geklappt) den Port 1337 (Ja ich weiß, sehr einfallsreich der Port) sowohl TCP als auch UDP freigegeben. Danach habe ich diese Freigabe in der Router Firewall bestätigt. Dann habe ich meine Computer Firewall abgedreht, dies tat auch mein Kollege. Anschließend hat mein Kollege einen einfachen Verbindungsversuch gestartet, jedoch ist diese mit der Meldung "Asynchroner Socketfehler 10060" gescheitert was darauf hinweist das mein Server nicht gefunden wurde.

jaenicke 19. Jul 2009 10:20

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Und mit welcher IP hat er versucht zu verbinden? Mit deiner Internet-IP deines Routers oder mit deiner lokalen deines Rechners, die nur im lokalen Netzwerk hinter deinem Router gilt?

Balthasar 19. Jul 2009 10:32

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Mit meiner Internet-IP natürlich.

jaenicke 19. Jul 2009 10:36

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Dann weiß ich nicht, warum es nicht klappt. Dann sollte das klappen. :gruebel:

Hast du deinem PC auch eine feste IP gegeben bzw. im Router zugeteilt? (Nicht dass sich die IP ändert, auf die der Router weiterleiten soll.)

Balthasar 19. Jul 2009 10:41

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Jop, meine IP-Adresse ist statisch und dennoch geht es nicht ^^

jaenicke 19. Jul 2009 11:12

Re: [Verzweiflung]: Client- Serversocket finden sich nicht!
 
Hast du mal ein Testprogramm da? Dann kann ich es schnell mal selbst anschauen und testen. Vielleicht ist da ja ein Fehler drin...


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