sockets - 为什么我发的频率越低越容易丢包?
问题描述
我正在探索发送频率对丢包率的影响(使用 udp 协议)。
我发送了 1000 个长度为 10,000 字节的数据包,每个数据包之间的间隔为1ms
. 结果表明丢包率为10%~20%。但是,当我将间隔增加到 时10ms
,我以为服务器有更多的时间来处理缓存,但结果显示丢包率达到了惊人的 40%~50%。
我反复多次,发现这种现象是可以重现的,所以排除意外情况。
一些可能有帮助的现象和其他已知条件:
- 当时间间隔为1ms时,虽然丢包率很低,但偶尔会出现非常高(接近80%)的丢包。
- 客户端和服务器之间的距离约为1200公里
这是我的代码的一部分,它client
是一个套接字
msg = 't' * 10000
interval = 0.01 # or 0.001
for i in range(0, 1000):
sleep(interval)
self.client.sendto(msg.encode(), addr)
解决方案
推荐阅读
- maven - MavenProject getDependencies 空
- javascript - 如何更改a的文本
动态的? - sql - Oracle SQL:新计算的列出现无效标识符错误
- azure - 获取从另一个管道下载的最后一个工件的值
- php - wp-remote-post 返回解析值时遇到的意外字符
- c# - 在将每条记录添加到列表 c# 时循环遍历 JSON 对象
- node.js - NodeJs + Express - 无法获取 /
- java - onWebsocketMessage 期间的运行时异常:如何使用 GSon 读取 Java 中的 JSON 事件数据?
- c# - 以编程方式更改 XML 背景 - Xamarin.Android C#
- python - 加载保存的 keras 模型后出现 ValueError