Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Tcp Verbindungs Problem (https://www.delphipraxis.net/168013-tcp-verbindungs-problem.html)

sx2008 1. Mai 2012 13:59

AW: Tcp Verbindungs Problem
 
Zitat:

Zitat von CreativeMD (Beitrag 1164390)
Z.B der Minecraft Server schafft es doch auch (Oder bin ich jetzt vollkommen blöd)

Ne, du bist nur ungeduldig und gehst unsystematisch vor.

Du willst also aus dem Internet durch deinen Router auf einen TCP/IP-Server auf deinem Rechner zugreifen?
Dann wäre es doch logisch zuerst mal kleine Brötchen zu backen und ein garantiert funktionsfähiges Programm (Apache Webserver) in Betrieb zu nehmen.
1.) Apache Webserver lokal installieren und testen
2.) in der Routerkonfiguration (NAT) einstellen, dass alles was von drausen auf Port 81 reinkommt auf deinen Rechner Port 80 weitergeleitet wird
3.) ermittle deine externe IP-Adresse (z.B. über http://www.ip-adress.com/IP_adresse/ )
4.) greife auf deinen Webserver über diese IP zu

Das wäre sozusagen deine Gesellenprüfung.
Erst jetzt macht es Sinn das Gelernte auf dein Chatprogramm zu übertragen.

Der nächste Schritt wäre dann die Routerkonfiguration per Software anstatt von Hand vorzunehmen.
Die meisten Router unterstützen UPnP und können so konfigueriert werden.
http://www.codeproject.com/Articles/...wardings-and-N

Es gibt noch eine weitere Methode: NAT Port Mapping Protocol

Beide Varianten sind aber so komplex, dass man wohl Jahre an Programmier- und Netzwerkerfahrung benötigt um sie in eine Anwendung einzubauen.

Zacherl 1. Mai 2012 14:03

AW: Tcp Verbindungs Problem
 
Zitat:

Zitat von CreativeMD (Beitrag 1164390)
Kann man nicht vom Programm aus was am Router Konfigurieren?

Wie schon erwähnt. Per UPnP ist das prinzipiell möglich. Allerdings wird diese Möglichkeit nicht von allen Routern unterstützt und muss bei praktisch allen Modellen erstmal über das Webpanel zugelassen / aktiviert werden. Willst du die Aktivierung auch aus deinem Programm heraus vornehmen, müsstest du dir das Webpanel für alle Routertypen anschauen und selbst, wenn du da alles korrekt implementiert hast, stößt dein Programm ganz schnell an seine Grenze, wenn irgendein User mal ein Kennwort fürs Webpanel eingestellt hat.

Zitat:

Zitat von CreativeMD (Beitrag 1164390)
der Minecraft Server schafft es doch auch (Oder bin ich jetzt vollkommen blöd)

Der Minecraft Server beinhaltet keinerlei Firewall Bypassing bzw. Port Forwarding Methoden. Auch hier musst du auf Serverseite ganz normal alle Ports im Router und in der Firewall freigeben.

Popov 1. Mai 2012 16:46

AW: Tcp Verbindungs Problem
 
Zitat:

Kann man nicht vom Programm aus was am Router Konfigurieren?
Alle Router werden von außen konfiguriert, aber jeder anders, bzw. mit eigener Software. Ich hab das Gefühl du willst mit irgendwelchen Tricks alle Hürden umgehen, also z. B. alle Firewalls abschalten, alle Router manipulieren, nur um irgendwie gerade so mal eine Verbindung herzustellen. Und wenn du das hinkriegst, sagst du - ich bin großer Programmierer, ich habe ein Chat über das Internet zwischen zwei Computern hergestellt. Nur bevor du alle Firewalls abschaltest nur um dein kleines Progrämmchen zum laufen zu kriegen, bedenke, dass du ohne Firewall mit einem nicht optimal gepflegtem System, innerhalb einer Minute aus dem Internet angegriffen und übernommen wirst.

Die Idee mit dem Webserver ist nicht schlecht, wäre eine Möglichkeit. Nur im das Gefühl zu kriegen würde ich dir das Tool "HFS - HTTP File Server" empfehlen. Für Austausch von Daten perfekt, leicht zu bedienen und kaum Einstellungen. Das ist ein kleiner, eine Art Web-Server, aber nur für Daten. Zu bedienen ist es leicht, das einzige Problem wird sein alle Hürden aus dem Internet richtig zu konfigurieren. Wenn du das hin gekriegt hast, wird ein Apache zwar mehr Arbeit bedeuten, aber auch mächtiger sein. Aber zuerst würde ich zum Testen den HFS - HTTP File Server versuchen. Dann wirst du mit einem funktionierendem Programm sehen was am System konfiguriert werden muß und was dein Programm können muß.

Hier noch etwas Lesestoff: http://www.brynosaurus.com/pub/net/p2pnat/

CreativeMD 3. Mai 2012 14:39

AW: Tcp Verbindungs Problem
 
ok

nachdem ihr mir alle gesagt wie es nicht geht
und ich nicht weiß wie ich es sonst machen sollte
würde ich vorschlagen wir reden einmal über ein Beispiel.
TeamSpeak 3 ist mein parade Beispiel.
Wie haben die es den gelöst?

Klaus01 3. Mai 2012 14:41

AW: Tcp Verbindungs Problem
 
Zitat:

Zitat von CreativeMD (Beitrag 1164738)
...
TeamSpeak 3 ist mein parade Beispiel.
Wie haben die es den gelöst?

.. die haben einen Server im Internet zu dem sich die Clients verbinden.
Der Server verbindet dann die zu einer "Gruppe" gehörenden Clients.

Grüße
Klaus

CreativeMD 3. Mai 2012 14:44

AW: Tcp Verbindungs Problem
 
aber sie sind dann direkt verbunden oder?

Klaus01 3. Mai 2012 15:09

AW: Tcp Verbindungs Problem
 
Zitat:

Zitat von CreativeMD (Beitrag 1164741)
aber sie sind dann direkt verbunden oder?

die Teilnehmer sind über den Server verbunden, ich denke nicht, dass TS einen Mechanismus verwendet der den Server bypassed.

Grüße
Klaus

CreativeMD 3. Mai 2012 17:59

AW: Tcp Verbindungs Problem
 
Zitat:

den Server bypassed.
was ist bypassed?

Popov 3. Mai 2012 20:20

AW: Tcp Verbindungs Problem
 
Zitat:

Zitat von CreativeMD (Beitrag 1164738)
Wie haben die es den gelöst?

Auch wenn du wiederholt fragst, wird die Antwort nicht anders. Und hier hast du die Frage nur etwas anders formuliert. Ich hab oben ein Link gepostet in dem einige Techniken beschrieben werden. Auch steht, dass man nur für die Verbindung den Server braucht.

Was TeamSpeak angeht auch der funktioniert über Clients und Server. Was sagt Wiki zu TeamSpeak ?
Zitat:

Server können entweder bei Hostinganbietern (z.B. viele Anbieter für Gameserver) für eine meist monatliche Gebühr gemietet oder mithilfe der Serversoftware auf einem eigenen Server oder dem eigenen Rechner installiert werden.
Wohl keine direkte Verbindung. So wie ich es aber erkennen kann, sind Server für privat kostenlos. Also eigenen Webserver installieren, den Server drauf installieren und ab gehts...

Ich erkläre es noch mal kurz: um aus dem Internet auf ein Programm zuzugreifen, mußt du einige Hürden überwinden, und einige davon mußt du manuell konfigurieren. Unmöglich ist nichts, aber mit Aufwand verbunden. Weniger Aufwand ist die oben beschriebene Methode über Server.

Ich schätze es ist ein durchaus interessantes Projekt, aber keines wo du dich mit paar Fragen durchfragen kannst. Hier musst du wohl tiefer in die Materie einsteigen.

Aber wie sieht es mit dem HFS - HTTP File Server aus? Hast du ihn so konfigurieren können, dass dein Kumpel auf den zugreifen kann? Wenn du das hinkriegst, dann kannst du zumindest den Rechner konfigurieren.

Achso...

Zitat:

was ist bypassed?
Schon mal von Bypass gehört? Bypass = etwas umgehen.

DeddyH 4. Mai 2012 07:46

AW: Tcp Verbindungs Problem
 
Nun mal langsam zum Mitschreiben: Dein Rechner hat eine IP-Adresse aus einem "privaten" Adressbereich, vermutlich eine der Art 192.168.X.X. Solche Adressen werden im Internet nicht weitergeleitet, da sie eben für LANs vorgesehen sind. Damit Du also überhaupt mit dem Internet kommunizieren kannst, brauchst Du einen Router (auch Gateway genannt). Dieser hat 2 IP-Adressen, eine aus Deinem privaten und eine aus dem öffentlichen IP-Adressbereich, Letztere bekommt er von Deinem Internet-Provider. Das bedeutet, dass Dein Rechner im Internet gar nicht bekannt ist, sondern nur der Router, da ja nur er eine öffentliche Adresse hat. Kommt nun also eine Anfrage auf Port X beim Router an, muss er wissen, was er damit machen soll, ansonsten verwirft er sie einfach. Hier kommt nun das angesprochene Port-Forwarding ins Spiel. Schau einmal in Deiner Router-Konfiguration nach einem Menüpunkt "NAT", "Port-Weiterleitung" oder "Port-Forwarding", da musst Du dann eintragen, welche Anfragen ggf. an welchen Rechner in Deinem Netz weitergeleitet werden sollen (in der Art "TCP Port 12345 -> 192.168.10.1"). Das Ganze gilt natürlich nur für eingehende Verbindungen, bei ausgehenden wie z.B. das Browsen übernimmt der Router das sowieso automatisch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr.
Seite 3 von 4     123 4      

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