AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tcp Verbindungs Problem

Ein Thema von CreativeMD · begonnen am 30. Apr 2012 · letzter Beitrag vom 8. Jun 2012
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#21

AW: Tcp Verbindungs Problem

  Alt 1. Mai 2012, 13:59
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.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#22

AW: Tcp Verbindungs Problem

  Alt 1. Mai 2012, 14:03
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.

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.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#23

AW: Tcp Verbindungs Problem

  Alt 1. Mai 2012, 16:46
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/
  Mit Zitat antworten Zitat
Benutzerbild von CreativeMD
CreativeMD

Registriert seit: 11. Okt 2011
127 Beiträge
 
Delphi XE2 Architect
 
#24

AW: Tcp Verbindungs Problem

  Alt 3. Mai 2012, 14:39
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?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Tcp Verbindungs Problem

  Alt 3. Mai 2012, 14:41
...
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von CreativeMD
CreativeMD

Registriert seit: 11. Okt 2011
127 Beiträge
 
Delphi XE2 Architect
 
#26

AW: Tcp Verbindungs Problem

  Alt 3. Mai 2012, 14:44
aber sie sind dann direkt verbunden oder?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Tcp Verbindungs Problem

  Alt 3. Mai 2012, 15:09
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von CreativeMD
CreativeMD

Registriert seit: 11. Okt 2011
127 Beiträge
 
Delphi XE2 Architect
 
#28

AW: Tcp Verbindungs Problem

  Alt 3. Mai 2012, 17:59
Zitat:
den Server bypassed.
was ist bypassed?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#29

AW: Tcp Verbindungs Problem

  Alt 3. Mai 2012, 20:20
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: Tcp Verbindungs Problem

  Alt 4. Mai 2012, 07:46
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 09:11 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