vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: UDP Hole-Punching in VB? 
Autor: TheNukeduke
Datum: 30.07.08 22:27

SenZe schrieb:
Zitat:

1. Es sollte doch nicht allzuschwer sein, das in VB mit
Winsocks zu realisieren, oder?

Kommt drauf an, wie man "allzuschwer" definiert... Aber möglich ist es.
Zitat:

2. Es sollte doch auch möglich sein, das ganze ohne einen
öffentlichen Server zu machen, wenn IPs und Ports beider PCs,
die miteinander kommunizieren wollen, bekannt sind, oder?

Ja... wenn... IdR weißt du aber nicht, welchen Port jetzt dein
Router nach außen hin verwendet, der ändert den nämlich unter Umständen.

Zitat:

3. Geht das nur mit UDP? Oder auch mit TCP/IP?

Ja, aber sehr niedrige Erfolgschancen.



Zitat:

Ich würde in VB das ganze so umsetzen:

1.Die 2 Benutzer (Server und Client) tauschen sich via ICQ
oder was auch immer aus, um sich gegenseitig ihre IP
mitzuteilen und Ports abzumachen.

Wie gesagt, du müsstest erstmal wissen, welchen Port der Router nach außen
hin auf gemacht hat. Mitunter nicht möglich.

Zitat:

2.Benutzer 1 "puncht" ein Loch in seine Firewall
indem er mit Winsock ein Datenpaket an die bekannte IP
Adresse über den abgemachten Port sendet.

3. Das Datenpaket kommt bei Benutzer 2 wegen der Firewall
nicht an, aber die Firewall von Benutzer 1 kriegt das nicht
mit und denkt, sie sei mit Benutzer 2 verbunden, lässt also
Daten, die von IP und Port von Benutzer 2 kommen, durch.

Da wie gesagt sich der öffentliche Port bei ändern kann, z.B.
hier bei Benutzer 2, könnten die Pakete plötzlich von nem anderen
Port kommen (was nichtmal ein Problem sein dürfte), allerdings kann
es sein, dass sie bei dir an einen geschlossenen Port kommen, weil
der Router auch hier nen anderen Port nach außen benutzt.

Zitat:

4. Jetzt kann sich Benutzer 2 mit Benutzer 1 verbinden, da
die Firewall von Benutzer 1 praktisch ein "Loch"
hat, das es selbst durch seinen Connect-Versuch geöffnet hat.

So in etwa müsste es doch gehen, oder habe ich da was falsch
verstanden?

Es kann geklappt haben, kann aber auch nicht. Das liegt daran, dass
sich Router völlig unterschiedlich beim Öffnen von Ports verhalten
können. Stichworte wären hier Full Cone, Restricted Cone und Symmetric NAT,
sortiert von "leich auszutricksen" nach "schwer auszutricksen."

Generell kannst du dich darauf einstellen, dass das ganze sehr komplex
werden wird, wenn es mit allen Firewalls und Routern funktionieren
soll (was eigentlich auch nicht möglich ist). Ohne externen Server
wirst du da wohl nicht auskommen.
Ich habe da selbst mal dran gebastelt, und es hat auch teilweise
funktioniert, je nach eingesetzten Routern. Jedoch war das teilweise
schon ein Glücksspiel, obs nun klappt oder nicht, zuletzt lief es gar
nicht mehr, vermutlich hat t-online irgendwas an ihrem STUN Server
verändert, den ich dazu nutzte. Bin an dem Projekt allerdings auch
nicht mehr dran.
Eigentlich muss man sich dafür nur ins STUN Protokoll einlesen, und
viel geduld haben. Das Nervigste war immernoch, dass man ein
Byteprotokoll in VB6 implementieren muss, sehr ätzend.

Gru?,
Nukeduke

if (youAreHappyAndYouKnowIt) {
???ClapYourHands();
}

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
UDP Hole-Punching in VB?2.323SenZe30.07.08 12:50
Re: UDP Hole-Punching in VB?1.528TheNukeduke30.07.08 22:27
Re: UDP Hole-Punching in VB?1.817SenZe30.07.08 22:58
Re: UDP Hole-Punching in VB?1.636VBStein31.07.08 14:45
Re: UDP Hole-Punching in VB?1.518SenZe31.07.08 15:53
Re: UDP Hole-Punching in VB?1.445TheNukeduke31.07.08 17:10
Re: UDP Hole-Punching in VB?1.581SenZe31.07.08 17:47
Re: UDP Hole-Punching in VB?1.370wb-soft31.07.08 17:32
Re: UDP Hole-Punching in VB?1.471wb-soft31.07.08 18:13

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel