RTCMultiConnection,无法设置和连接到房间。

时间:2017-09-04 14:09:51

标签: rtcmulticonnection

我正在尝试使用RTCMultiConnection测试对等体之间的实时数据连接。

设置会话/房间似乎有效,但一旦完成,同伴似乎无法加入。如果我从另一个浏览器再次运行此功能,当会话打开时,它仍然说房间不存在,它会打开一个新的,而不是加入。

频道和会话ID是相同的,为什么对等方找不到会话?

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 个答案:

答案 0 :(得分:0)

请用以下功能替换您的功能:

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');