Tay*_*ter 8 sockets android udp wifi android-ndk
我正在开发一个Android应用程序,它通过WLAN向Windows端点发送/接收大量UDP流量(不,我不能使用TCP).
问题是当我增加流量时,我开始看到当我调用sendto(应用程序是用NDK写入)和我看到数据包到达Windows端点之间的巨大延迟.在10秒左右!反过来也会发生同样的事情:我发现Windows端点发送的数据包与recvfrom()接收的数据包之间存在巨大延迟.
所以在这一点上,我只是出于想法.事实会让我相信缓冲是在Android OS层上发生的,但10秒的10Mbps流量呢?对于内存占用非常大的操作系统来说,这似乎太高了.
此外,如果问题是我发送的数据太快并且压倒了操作系统,那么我希望sendto()返回ENOMEM或ENOBUFS ......但是没有迹象表明Android应用程序级别出现任何问题.
所以我的问题是:导致这种延迟的原因是什么?有没有办法缓解它,或者我是否需要更改我的应用程序以获得更长的超时或某种方式在它变坏之前检测到这种情况?
你寄的太多了..你寄了多少?10Mbps 绝对太高了。记住:
或者
你说你的 CPU 处于 20%,你有多少个核心 - 你可能会最大化执行发送的核心,即处理速度是瓶颈。
归档时间: |
|
查看次数: |
2323 次 |
最近记录: |