Определите, используется ли TURN из данных API webrtc getStats
Я использую API getStats() WebRTC на Android для получения статистики, и я получаю большую часть данных, которые мне нужны. Но я не могу найти данные, чтобы определить, используется TURN или нет.
Пожалуйста, проверьте пример данных JSON. https://pastebin.com/v89aaL2H
private void getStats() {
if (peerConnection == null || isError) {
return;
}
boolean success = peerConnection.getStats(reports -> events.onPeerConnectionStatsReady(reports), null);
}
1 ответ
Кажется, вы используете устаревшую статистику. Итак, позвольте мне ответить на ваш вопрос, основываясь на устаревшей статистике -
В вашей прежней статистике, googCandidatePair
список представляет пары кандидатов ICE (пары локального и удаленного кандидата ICE) для текущего сеанса WebRTC. Если вы посмотрите в googCandidatePair
список вы найдете пары кандидатов, которые в настоящее время используются транспортом (googCandidatePair.googActiveConnection
будет верно в этом случае).
Теперь вы можете посмотреть локальный и удаленный тип кандидата (googLocalCandidateType
, а также googRemoteCandidateType
) этого актива googCandidatePair
знать, что именно вы используете для своего транспорта.
Например, из примера дампа статистики - вы используете только stun.
Примечание. Возможно, вам также будет интересно прочитать Руководство по миграции getStats() в Chrome Standard