Ich bin auf ein interessantes Problem gestoßen. Grundsätzlich habe ich 2 Handys, die beide hinter NATs stehen. Ich möchte direkt zwischen den 2 Geräten mit UDP kommunizieren.
Ich weiß, wenn ich eine Verbindung von den Telefonen zu einem Server initiiere, dann kann ich Daten zurück auf diese Verbindung zum Telefon (dh senden Sie es zurück von dem gleichen Port, der die Nachricht an die gleiche IP-Adresse und Port, die es war) erhalten von). So kann ich problemlos zwischen den beiden Geräten kommunizieren, indem ich beide Telefone an den Server anschließe. Dann werden Daten an den Server gesendet und an die Telefone zurückgeleitet. Dies umgeht alle NAT Traversal-Probleme, denen ich begegnen kann.
Ich würde jedoch lieber den Server benutzen, um die zwei Geräte aufeinander zu richten und sie dann direkt kommunizieren zu lassen. Wie würde ich das machen? Ist es möglich, ohne etwas wie uPnP zu verwenden?
Jede Hilfe wäre sehr gut geeignet!
Bearbeiten : Ich habe dieses Dokument Ссылка gefunden Was ich suche, aber es scheint nicht weit verbreitet zu sein. Ich frage mich, wie gut die Unterstützung von mobilen Internet Service Providern für UPnP ist?
Was Sie suchen, ist das UDP-Lochstanzen, siehe z.B. Ссылка
Die Grundidee ist einfach: Sie teilen jedem Endpunkt die zu verwendenden Ports mit und senden UDP-Pakete. Die NAT-Geräte werden eine Traversierungsregel einrichten, wenn sie das erste ausgehende Paket sehen, und dann wird der nächste Versuch vom anderen Ende mit dieser Traversierungsregel übereinstimmen.
Tags und Links p2p mobile udp nat nat-traversal