Twilio завершил комнату - можно ли ее воссоединить? - PullRequest
0 голосов
/ 25 сентября 2019

Я использую REST API для создания комнат.В документах говорится, что комната заканчивается, когда пусто в течение 5 минут.Я хотел бы знать, что это значит при попытке повторно использовать одну и ту же комнату.Могут ли участники снова присоединиться к этой комнате?

Мой пример использования заключается в том, что пользователи подают запрос на присоединение к комнате через конечную точку сервера. проверка по UniqueName выполняется, чтобы увидеть, существует ли эта комната.Если этого не произойдет, то будет создано с использованием UniqueName.

. Конечно, будут случаи, когда комната создается, но пуста более 5 минут, и я хотел быповторно использовать тот же UniqueName, чтобы присоединиться к комнате (пустой, заполненный или другой).Но мне не ясно, что это можно сделать, когда комната будет завершена.

Например, если другой пользователь попытается присоединиться к завершенной комнате, будет ли логика сверху все еще работать или она сломаетсякомната в completed состоянии не может быть присоединена или воссоздана?Моя цель - всегда иметь доступ к комнате с одинаковыми UniqueName.

Пожалуйста, сообщите, спасибо.

Редактировать

Я только что имелвместо этого получит список комнат по UniqueName, который покажет мне комнату, которая уже была создана, независимо от ее статуса.Тем не менее, мне все равно нужно иметь возможность использовать ту же комнату, если ее статус completed.

Можно ли обновить статус с completed до in-progress?

Обновить

Может показаться, что статус не может бытьобновлено с completed до in-progress.Итак, когда комната завершена, как я могу продолжать использовать тот же UniqueName для другой комнаты, если она уже существует с таким уникальным именем?

1 Ответ

0 голосов
/ 25 сентября 2019

Отвечая на мой собственный вопрос здесь, поскольку я думаю, что у меня есть решение.

После работы с приложением быстрого запуска Twilio я обнаружил, что UniqueName уникален в контексте комнат, которые in-progress.Я проверил это, присоединившись и выходя из комнаты несколько раз в течение нескольких секунд.Новая комната создавалась каждый раз, когда я уходил.Я не знал об этом, но комнаты, созданные с помощью клиентского SDK, закрываются сразу после ухода всех участников.Как указано в документации, комнаты, созданные с помощью API REST, остаются открытыми в течение 5 минут.

Когда я говорю «создано», я имею в виду, что новая комната с новым SID создана и может просматриваться вконсоль Twilio, , даже если уникальное имя не изменилось .Таким образом, на самом деле вы можете иметь несколько комнат с одинаковым UniqueName, но при выполнении вызовов REST API оценивается только комната со статусом in-progress.

Таким образом, ответом будет просто попытаться создатькомната с уникальным именем.В случае наличия комнаты возникает ошибка 404, как указано в документации.Т.е.:

{ [Error: Room exists]
  status: 400,
  message: 'Room exists',
  code: 53113,
  moreInfo: 'https://www.twilio.com/docs/errors/53113',
  detail: undefined }

Однако, если комната с таким уникальным именем уже была completed, можно создать новую комнату с таким же уникальным именем.Самый простой подход - попытаться поймать создание комнаты и обработать ошибку.

  let room;

  try {
    room = await client.video.rooms.create({uniqueName: 'test'})
  } catch (e) {
    console.log(e);
  }
...