UDP Hole Punching beim Mobilfunkanbieter nicht möglich

Eigentlich codiere ich eine Android-App, die die Bilder einer Webcam empfängt, die mit einem PC verbunden ist. Um mehr fps zu erhalten, benutze ich das udp-Protokoll anstelle von tcp. Die Idee ist, dass der PC die Bilder an die IP-Adresse und den Port des Telefons sendet. Der Anbieter des Telefons verfügt jedoch über andere öffentliche Anschlüsse. Also kann ich das Telefon nicht direkt ansprechen. Aus diesem Grund habe ich versucht, das Problem über UdP-Lochen zu lösen, aber das hat nicht funktioniert. Wenn mein Telefon ein Paket an den PC sendet, erhält der PC die öffentliche IP-Adresse und den Port des Telefons. Das passiert jede Sekunde, um die Verbindung offen zu halten. Dann sendet der Server die Webcame-Frames so schnell er kann an diese IP und diesen Port. Das Telefon empfängt jedoch nur 10-15 Bilder innerhalb von 1-2 Sekunden. Danach scheint der Provider jedes folgende Paket oder ähnliches zu filtern, da das Telefon kein weiteres Paket empfängt.

Jetzt ist meine Frage: Was passiert (oder was macht der Anbieter) und wie kann ich dieses Problem beheben? Das TCP-Protokoll funktioniert, ist jedoch zu langsam für das Streaming, da zu viel Overhead und Fehlerkorrekturen erforderlich sind.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage