gpt4 book ai didi

c# - TCP 客户端的最大发送速度是否完全受客户端计算机的上传速度限制

转载 作者:可可西里 更新时间:2023-11-01 02:31:46 25 4
gpt4 key购买 nike

背景

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

我的研究

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

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

问题

我不确定系统是否完全受上传速度限制。我认为这是因为 4.5kb 小得离谱。我可以使用类似的软件(Teamviewer、Join.me 和 Skype 等软件)完美流畅地流式传输我的桌面,即使这些软件包使用比我智能得多的协议(protocol)(good question here)我非常怀疑他们只发送 4.5kb每个框架/桌面更新。

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

最佳答案

首先不要混淆位和字节,因为你的计算有点困惑。

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

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

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

关于c# - TCP 客户端的最大发送速度是否完全受客户端计算机的上传速度限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15273620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com