Это третья статья про NetDiag+ — iOS-утилиту сетевой диагностики, которую я пишу один. В первой было про ICMP-сокеты без entitlements и traceroute, во второй — про MTR, Path MTU и детект блокировок по SNI. Сегодня — про инструмент, который отвечает на вопрос «почему лагает», и про баг в самом пинге, который я нашёл только потому, что положил рядом с телефоном ноутбук.
Спойлер: правильно измерить RTT на телефоне сложнее, чем отправить. Отправить — это
sendto(). Измерить — семь раундов на устройстве, пять дефектов и один латентный баг, живший в приложении с версии 1.0.Статья: https://habr.com/ru/articles/1085252/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность