RTCMultiConnection, не удается настроить и подключиться к комнатам.

Я пытаюсь проверить соединение данных в режиме реального времени между узлами, используя RTCMultiConnection.

Настройка сеанса / комнаты, кажется, работает, но после того, как это было сделано, одноранговые пользователи не могут присоединиться. Если я снова запускаю эту функцию из другого браузера, когда сеанс открыт, он по-прежнему говорит, что комната не существует, и открывает новую, а не присоединяется.

Идентификаторы канала и сеанса идентичны, так почему же узел не находит сеанс?

function makeOrJoinRoom(id){
 channelid = 'channel'+id;
 roomid = 'room'+id;
 sessionMedia = {audio: false, video: false, data: true};
 
 var connection = new RTCMultiConnection(channelid);
 connection.socketURL = 'https://rtcmulticonnection.herokuapp.com:443/';
 connection.checkPresence( roomid, function(roomExists, roomid) {
  alert('checking presence...');
  alert('Room exists='+roomExists);
    if(roomExists) {
     alert('I am a participant');
      connection.join({
           sessionid: roomid,
           session: sessionMedia
       });
    } else {
     alert('I am the moderator');
     connection.session =  sessionMedia;
      connection.open({
          sessionid: roomid
      });
    }
 });
}

1 ответ

Решение

Пожалуйста, замените вашу функцию следующим:

function makeOrJoinRoom(roomid) {
    var connection = new RTCMultiConnection();

    connection.session = {
        data: true
    };

    connection.socketURL = 'https://rtcmulticonnection.herokuapp.com:443/';

    alert('checking presence...');
    connection.checkPresence(roomid, function(roomExist, roomid) {
        alert('Room exists=' + roomExist);
        if (roomExist === true) {
            alert('I am a participant');
            connection.join(roomid);
        } else {
            alert('I am the moderator');
            connection.open(roomid);
        }
    });

    connection.onopen = function(event) {
        alert('WebRTC chat opened!');
    };
}

// call above function like this
makeOrJoinRoom('your-unique-room-id');
Другие вопросы по тегам