2016-02-12 9 views
0

Я пытаюсь создать онлайн-приложение для шахматной игры, которое использует WebRTC для двух игроков, с которыми можно разговаривать. Я обнаружил, что OnIceCandidate был уволен 4 раза, и таким образом генерируются 4 ICE (или кандидатов?). This post говорит, что стрельба mulitple в порядке. Мой вопрос в том, должен ли другой игрок получить все ICE? Или какой-то ICE или любой из них достаточно хорош?WebRTC OnIceCandidate запускается несколько раз

{ 'sdpMid': 'sdparta_0', 'sdpMLineIndex': 0, 'кандидат': 'кандидат: 0 1 UDP 2122121471 1.2.3.121 57386 Тип хоста'}

{ 'sdpMid': 'sdparta_0', 'sdpMLineIndex': 0, 'кандидат': 'кандидат: 2 1 UDP 2122187007 1.2.3.112 57387 Тип хоста'}

{ 'sdpMid': 'sdparta_0', 'sdpMLineIndex': 0 ' кандидат: кандидат: 4 1 UDP 2122055935 192.168.56.1 57388 тип хозяин '}

{' sdpMid ':' sd parta_0' , 'sdpMLineIndex': 0, 'кандидат': 'кандидат: 6 1 UDP 2122252543 2002: 824a: 1479 :: 824a: 1479 57389 Тип хоста'}

{ 'sdpMid': 'sdparta_0', ' sdpMLineIndex ": 0, 'кандидат':" кандидат: 3 1 UDP 1685987327 192.231.71.2 57387 Тип srflx raddr 10.88.33.112 rport 57387}

ответ

2

Мой вопрос, если другой игрок получает все ? ДВС Или какой-то ICE или любой из них достаточно хорош?

Другой игрок должен получить всех кандидатов для проведения переговоров по ЛВС.

+0

Чтобы уточнить это, это называется струйным льдом, что в основном означает, что вы отправляете каждого кандидата льда на другую сторону, когда вы их собираете, чтобы они могли начать проверку каждого кандидата и найти совпадение как можно скорее. – xdumaine

+2

Если вы хотите избежать отправки каждого кандидата ICE, вы можете подождать, пока не получите нулевой кандидат, что означает, что коллекция ICE завершена. В этот момент вы можете захватить SDP, который будет содержать всех кандидатов. – bpulito