我的带宽有限 512 Kbps下载 368 Kbps上传
我正在循环 10ms 的常规间隔发送 40字节 UDP数据包
使用 Thread.sleep(10)语句。
虽然接收数据包(UDP)的大小可以是0-1500字节,并且可以随时以任何数量出现
while(true){} 循环中的channel.receive(); .Channel处于阻止模式。
我想我错过了使用此代码的数据包。
如何防止因下载速度慢导致数据包丢失。
答案 0 :(得分:0)
如何防止因下载速度慢导致数据包丢失。
你无法阻止它。即使您有足够的带宽,某些级别的数据包丢失也是不可避免的。
如果您要使用UDP作为传输,则必须将应用程序协议设计为在数据包丢失时具有弹性......并避免因过多流量而淹没您的网络链接。这些都是非平凡的问题。
更简单的替代方法是使用TCP,让 it 处理数据包丢失和流量控制问题时的重试。