Node.js RTCMulticonnection room join持续引发错误:找不到会话描述。复查

Node.js RTCMulticonnection room join持续引发错误:找不到会话描述。复查,node.js,socket.io,webrtc,rtcmulticonnection,Node.js,Socket.io,Webrtc,Rtcmulticonnection,我正在使用RTCMulticonnection MultiRTC脚本捕获和流式传输多用户摄像机 我猜,若有任何用户刷新页面,那个么即使我添加了页面unload事件,会话也会在后台保持活动状态 window.onbeforeunload = function() { rtcMultiConnection.close(); }; 我的问题是刷新后加入文件室会不断抛出错误/警告消息找不到会话描述。重新检查.. 为什么找不到会话描述?我已经检查了RTCMulticonnection js,这个

我正在使用RTCMulticonnection MultiRTC脚本捕获和流式传输多用户摄像机

我猜,若有任何用户刷新页面,那个么即使我添加了页面
unload
事件,会话也会在后台保持活动状态

window.onbeforeunload = function() {
    rtcMultiConnection.close();
};
我的问题是刷新后加入文件室会不断抛出错误/警告消息找不到会话描述。重新检查..

为什么找不到会话描述?我已经检查了RTCMulticonnection js,这个错误是从下面的函数抛出的

function joinSession(session, joinAs) {
        if (isString(session)) {
            connection.skipOnNewSession = true;
        }
        console.log(session);
        console.log(joinAs);
        if (!rtcMultiSession) {
            log('Signaling channel is not ready. Connecting...');
            // connect with signaling channel
            initRTCMultiSession(function() {
                log('Signaling channel is connected. Joining the session again...');
                setTimeout(function() {
                    joinSession(session, joinAs);
                }, 1000);
            });
            return;
        }

        // connection.join('sessionid');
        if (isString(session)) {
            if (connection.sessionDescriptions[session]) {
                session = connection.sessionDescriptions[session];
            } else
                return setTimeout(function() {
                    log('Session-Descriptions not found. Rechecking..');
                    joinSession(session, joinAs);
                }, 1000);
        }

        // connection.join('sessionid', { audio: true });
        if (joinAs) {
            return captureUserMedia(function() {
                session.oneway = true;
                joinSession(session);
            }, joinAs);
        }

        if (!session || !session.userid || !session.sessionid) {
            error('missing arguments', arguments);

            var error = 'Invalid data passed over "connection.join" method.';
            connection.onstatechange({
                userid: 'browser',
                extra: {},
                name: 'Unexpected data detected.',
                reason: error
            });

            throw error;
        }

        if (!connection.dontOverrideSession) {
            connection.session = session.session;
        }

        var extra = connection.extra || session.extra || {};

        // todo: need to verify that if-block statement works as expected.
        // expectations: if it is oneway streaming; or if it is data-only connection
        // then, it shouldn't capture user-media on participant's side.
        if (session.oneway || isData(session)) {
            rtcMultiSession.joinSession(session, extra);
        } else {
            captureUserMedia(function() {
                rtcMultiSession.joinSession(session, extra);
            });
        }
    }

用v3版升级了我的应用程序,也用它代替了WebSocket,早些时候我用的是WebSocket。

你用的是或Firebase吗?@MuazKhan,我用的是WebSocket,不是socketio,也不是Firebase抱歉需要再次确认,还是你自己的自定义WebSocket实现?仍然不确定你在说什么,请查看一下,我猜您在这里使用的是一个可靠的socket.io替代品: