Как отправить ровное количество пакетов в секунду на Android? - PullRequest
2 голосов
/ 14 мая 2019

Я пытаюсь отправить определенное количество пакетов в секунду на Android. В конце концов, я должен иметь возможность отправлять 4000 пакетов в секунду через Wi-Fi с постоянной скоростью.

Я создал приложение с собственной поддержкой C ++. В C ++ я создаю сокет UDP и отправляю пакеты с определенной скоростью, используя SIGALRM в качестве таймера.

В качестве теста я хотел посмотреть, какая максимальная пропускная способность для моего приложения, поэтому я сделал так, чтобы оно отправлялось как можно быстрее:

while (!stop) {
    send(sockfd, data, dataSize, 0);
}

То, что я заметил в Wireshark, было то, что у меня есть эти "пики" полученных пакетов.

Результаты испытаний Wireshark:
Wireshark test results

Когда я запускаю этот же код на компьютере с Linux, я получаю постоянное количество пакетов. Я предполагаю, что Android ограничивает скорость отправки.

Можно ли как-то сгладить этот вывод? Я использую телефон Pixel 3 XL.

...