Я пытаюсь отправить определенное количество пакетов в секунду на Android. В конце концов, я должен иметь возможность отправлять 4000 пакетов в секунду через Wi-Fi с постоянной скоростью.
Я создал приложение с собственной поддержкой C ++. В C ++ я создаю сокет UDP и отправляю пакеты с определенной скоростью, используя SIGALRM в качестве таймера.
В качестве теста я хотел посмотреть, какая максимальная пропускная способность для моего приложения, поэтому я сделал так, чтобы оно отправлялось как можно быстрее:
while (!stop) {
send(sockfd, data, dataSize, 0);
}
То, что я заметил в Wireshark, было то, что у меня есть эти "пики" полученных пакетов.
Результаты испытаний Wireshark:
Когда я запускаю этот же код на компьютере с Linux, я получаю постоянное количество пакетов. Я предполагаю, что Android ограничивает скорость отправки.
Можно ли как-то сгладить этот вывод? Я использую телефон Pixel 3 XL.