Как получить статистику сетевого трафика для приложений потоковой передачи видео на Android?

#android #video-streaming #network-traffic

#Android #потоковое видео #сетевой трафик

Вопрос:

Я пытаюсь сам написать приложение для мониторинга сетевого трафика. Я использовал Traffic Stat для получения статистики сетевого трафика для каждого приложения. Но для таких видеоприложений, как YouTube, потоковые данные не могут быть получены с помощью Traffic Stat. Вместо этого потоковые данные записываются в «android.process.media». Иногда она фиксируется API общего сетевого трафика в Traffic Stat вместо API для каждого приложения. Если есть только одно видеоприложение, скажем, YouTube, я всегда могу назначить использование данных, захваченных частью «android.process.media», обратно на YouTube. Но у некоторых людей на телефоне установлено несколько разных видеоприложений, и эти приложения обычно используют один и тот же метод для потоковой передачи видео. Таким образом, я не могу определить, сколько данных потребляет каждое видеоприложение.

В Android Market я нашел свой менеджер данных, который, похоже, правильно фиксирует использование данных каждым видеоприложением. Итак, я предполагаю, что должен быть способ сделать это. Но я потратил много времени на поиск решений. Пока не удалось. Кто-нибудь знает, как это сделать?

===== Обновление от 05.02.2014 ====

Мне довелось поговорить с парнем, который реализует Android Traffic Stat на мероприятии Google. Он сказал мне, что более ранние версии (Gingerbread и eariler) Traffic Stat содержат ошибки. Новые в ICS или более поздней версии должны быть правильными. Я не тестировал новые версии. Поэтому используйте его с осторожностью.

Комментарии:

1. Я понятия не имею, как они это провернут. android.process.media это процесс, который выполняет сетевую передачу для потокового мультимедиа AFAIK. Даже NetStat (согласно одному ответу) должен указывать пальцем на android.process.media . То же самое будет справедливо и для других централизованных сетевых сервисов, таких как DownloadManager .

2. Я думаю, что нет никакого способа. Но я жду ответа других.

Ответ №1:

Вы можете использовать команду netstat с командной оболочкой, чтобы найти статистику сети, надеюсь, эта ссылка поможет вамhttp://en.wikipedia.org/wiki/Netstat