UDP/TCP verbindung hinter Routern mit NAT

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

tft

Betreff: UDP/TCP verbindung hinter Routern mit NAT

BeitragSo, Aug 24, 2008 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo....

wie so file hir, habe ich unlösbare probleme mein Chat Test program auch über das Internet zum laufen zu bringen. Sobald irgendein Router dazwischen liegt. Ich habe fast meinen Ganzen Urlaub damit verbracht, die functionsweise in erfahrung zu bringen. Und bin danach noch frustrierter. Da es sich mit BlitzBasic als Unmöglich erweist. Datenpackete welcher art auch immer an einen Router mit NAT vorbei zu schleusen.
Internet Aplikationen wie PHP, ferwenden die Hider Dateien eines jeden Daten Paketes um z.B mitt ECHO eine Rückantwort zu liefern. (Wie NAT funktioniert siehe WIKI) NAT ändert die Daten in den Hider Dateien um die Rückantworten identifizieren zu können. Das heist ... Wenn ein Client(Peer) daten zu einem anderen Client(Peer) senden will. Muss der hider nicht die Internet IP sondern die IP die durch den NAT Router verändert wurde enthalten. Bei ganz fiesen Routern werden sogar die Ports geändert. Das übersteigt ganz eindeutig die möglichkeiten von Blitz+ und Blitz3D.

Gibt es hir jemanden der sowas schon mal hardcodet hat? BMax user finden dort bestimmt ein grosses anwendungs feld. Fileicht gibt es ja bereits eine LIB die in der Lage ist damit umzugehen. Oder jemand kann etwas in der art Coden. Ich stelle mir die Funktionsweise in etwa so for.

Der Client(Peer) schickt an einen PHP Server eine anfrage.
Ein PHP script ermittels die im Packet enthaltene IP und die Port nummer. Ganz wichtig. Nicht die REMOTE_ADDR. Diese Daten werden in eine MSql datenbank gespeichert.
Der Client(Peer) holt sich diese Daten des ziel Client(Peer) via PHP
Eine Funktion wie SendUDPMsg2() sendet an die Internet IP ein Datenpacket, dessen hider soweit geändert ist. Das die im Hider vermerkte ZielIP der vom PHP Sript ermittelteln entspricht.

Diese art der Komunikation und des Wissens um WinSocks etc. èbersteigt meine Fähigkeiten. Aber fileicht traut sich das ja jemand von euch zu. Oder kennt schon eine lösung.

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

da_poller

BeitragSo, Aug 24, 2008 11:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe um das router problem zu beheben den betreffenden port einfach weitergeleitet siehe "port forwarding"

hatte damit noch nie irgendwelche probleme..

tft

BeitragSo, Aug 24, 2008 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ...

Ja ... darüber habe ich auch schon gelesen. Aber ich möchte das der Anwender..... sich nicht um Router Konfiguration kümmern muss. Die meisten haben keine ahnung wie das geht. Und Jeder ruter nennt das kind anders. Ausserden funktioniert das nicht bei verbindungen Peer/Peer da ein Peer erst mal den NAT überlicten muss. Da von Blitz nur ein Standart Packet geliefert wird. Das nicht mit NAT zusammen Peer/Peer funktioniert.

Soltest du ein Beispiel haben. Wo bei dir nachweislich das Peer/Peer funktioniert. Und das auch noch mit Routern dazwischen. Dann kanste mir gerne mal den Code Posten. PM

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

ChristianK

BeitragSo, Aug 24, 2008 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur der Server muss Ports freischalten, um Nachrichten zu erhalten, deshalb würde ich einen zentralen Server benutzen.
Chats sind sowieso meistens nicht Peer to Peer, sondern laufen über einen zentralen Server, der dann die Nachrichten an die Clients vermittelt.

Ich möchte jedenfalls nicht, dass die Software, die ich benutze, auf meinem Router Ports freischaltet. Wink
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

da_poller

BeitragSo, Aug 24, 2008 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
selbst massenspiele wie das noch viel gespielte diablo 2 oder andere spiele brauchen zum erstellen eines spiels immer offene ports.. und da ncihtmal die programme zum öffnen anbieten denke ich das der user zum hosten doch noch dein hirn anstrengen muss..

ich hab mir auhc shcon mehrfach überlegt ob dieses problem zu umgehen ist ... aber bin leider auf kein ergebniss gekommen..

leider..
aber dennoch viel erfolg und solltest du eine lösung für finden bitte melde dich bei mir :)

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group