TCP客户端的最大发送速度是否正受到客户端计算机的限制';上传速度

本文关键字:速度 客户端 计算机 是否 TCP | 更新日期: 2023-09-27 18:02:51

背景

我正在尝试将远程计算机桌面的实时馈送流式传输到我的应用程序。为此,我使用面向连接(TCP(套接字,捕获客户端计算机的帧并将其发送到服务器。

我的研究

我每100毫秒发送一帧(屏幕截图((即10 FPS(。每帧大约是145kb,这意味着我需要每秒发送1450 kb(相当于每秒1.4兆字节,11兆比特(。

我的互联网最高下载速度为每秒0.32兆比特。因为我每秒需要发送11兆比特的数据,这意味着我的互联网比我需要的慢10.6兆比特。因此,根据我的计算,为了有效地流式传输桌面,我需要每个帧大约为4.5kb(4608b+20b TCP标头(,这在当前系统下是不可能的,即使只发送桌面的更新部分并压缩位图也是如此。

问题

我不确定系统是否受到上传速度的限制。我认为这是因为4.5kb是一个小得离谱的大小。我可以使用类似的软件(Teamviewer、Join.me和Skype等软件(完美流畅地流式传输我的桌面,尽管这些软件包使用的协议比我智能得多(这里是个好问题(,但我非常怀疑他们每个帧/桌面更新只发送4.5kb。

所以我的问题最终是;我的计算准确吗?为什么?我的目标是决定每帧的合适大小,这样我就可以达到这个大小,并计算不同速度连接的质量/间隔。当然,我对任何对我的情况有帮助的评论/答案都很感兴趣,但我接受的答案将是回答我实际问题的答案。

TCP客户端的最大发送速度是否正受到客户端计算机的限制';上传速度

首先不要混淆位和字节,因为您的计算有点混乱。

其次,你只看你发送的对象的大小,你忘记了数据包本身,它增加了一点大小,不要忘记你将忍受的TCP延迟。如果你的网络对发送流量如此敏感,我建议升级它,或者使用更好的压缩。

最后,我总是说:网络支持的带宽等于所需路径上带宽最小的部分。

例如:10M=>100K=>1M=>10M(此处最大速度为100K(

TCP客户端的最大发送速度是否正受到客户端计算机的上传速度的限制

这是一个毫无意义的问题。对于任何给定的连接,它们都是相同的,并且都由它们之间最慢链路的速度决定。