实际上,我正在编写一个 android 应用程序,该应用程序接收连接到 PC 的网络摄像头的图片。为了获得更多 fps,我使用 udp 协议而不是 tcp。这个想法是,电脑将图片发送到手机的 ip 和端口。但是电话提供商有不同的公共端口。所以我不能直接打电话。这就是为什么我试图通过 udp 打孔来解决问题,但没有奏效。当我的手机向 pc 发送一个数据包时,pc 会获取手机的公共 ip 和端口。每秒都会发生这种情况以保持连接打开。然后服务器尽可能快地将网络摄像头帧发送到这个 ip 和端口。但手机在 1-2 秒内只收到 10-15 张图片。之后,提供商似乎过滤了每个后续数据包或类似的东西,因为手机没有收到任何进一步的数据包。
现在我的问题是:发生了什么(或提供商在做什么),我该如何解决这个问题?TCP 协议可以工作,但由于过多的开销和错误更正,流式传输速度太慢。