Javascript Kurento媒体服务器与NodeJS负载平衡

Javascript Kurento媒体服务器与NodeJS负载平衡,javascript,node.js,webrtc,load-balancing,kurento,Javascript,Node.js,Webrtc,Load Balancing,Kurento,我使用kurento media server在浏览器中调解webRTC通信。我使用NodeJS在浏览器和webRTC服务器之间进行通信 NodeJS前面是nginx,它充当负载平衡器。我设法恢复了浏览器和NodeJS服务器之间的连接。但是,刷新后,我的视频冻结,可能是因为浏览器和kurento服务器之间的通信中断 如何重新连接 根据文档:它应该以某种方式工作,不幸的是没有具体的例子。到目前为止,我已经成功地从kurentoClient对象中提取了MediaPipelines和webRTC端点,

我使用kurento media server在浏览器中调解webRTC通信。我使用NodeJS在浏览器和webRTC服务器之间进行通信

NodeJS前面是nginx,它充当负载平衡器。我设法恢复了浏览器和NodeJS服务器之间的连接。但是,刷新后,我的视频冻结,可能是因为浏览器和kurento服务器之间的通信中断

如何重新连接

根据文档:它应该以某种方式工作,不幸的是没有具体的例子。到目前为止,我已经成功地从kurentoClient对象中提取了MediaPipelines和webRTC端点,该对象表示我与NodeJS上kurento服务器的连接

            kurento(wsUrl, (error, kurentoClient) => {
            kurentoClient.getMediaobjectById(pipeline_id).then(mediaObject => {
                mediaObject.getChildren().then(collection => {
                    console.log(collection);
                    collection.forEach(endpoint => {
                        endpoint.getConnectionState().then(state => {
                            console.log('CONNECTION STATE: ' + endpoint.id + ' ' + state);
                        });
                        endpoint.getMediaState().then(state => {
                            console.log('MEDIA STATE: ' + endpoint.id + ' ' + state);
                        });
                    });
                });
            });
        });
该代码的结果是:

[
WebRTC端点{
_事件:[对象:空原型]{
removeListener:[函数(匿名)],
newListener:[函数(匿名)],
_description:[函数:绑定],
_rpc:[函数:encodeRpc],
释放:[功能]
},
_活动日期:5,,
_maxListeners:未定义,
id:'bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/0c933bd6-77e4-45c5-bcba-782e9f085391_kurento.WebRTCENDOP',
[符号(kCapture)]:false
},
WebRTC端点{
_事件:[对象:空原型]{
removeListener:[函数(匿名)],
newListener:[函数(匿名)],
_description:[函数:绑定],
_rpc:[函数:encodeRpc],
释放:[功能]
},
_活动日期:5,,
_maxListeners:未定义,
id:'bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/365B17E-87e7-45e3-aeaa-294d89aa7d0b_kurento.WebRtcEndpoint',
[符号(kCapture)]:false
},
记录点{
_事件:[对象:空原型]{
removeListener:[函数(匿名)],
newListener:[函数(匿名)],
_description:[函数:绑定],
_rpc:[函数:encodeRpc],
释放:[功能]
},
_活动日期:5,,
_maxListeners:未定义,
id:'bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/5e14b897-122e-4d53-9d36-b3aad88d51fb_kurento.RecorderEndpoint',
[符号(kCapture)]:false
},
WebRTC端点{
_事件:[对象:空原型]{
removeListener:[函数(匿名)],
newListener:[函数(匿名)],
_description:[函数:绑定],
_rpc:[函数:encodeRpc],
释放:[功能]
},
_活动日期:5,,
_maxListeners:未定义,
id:'bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/82116d9a-e8d0-4835-bbe4-168f319ecf49_kurento.WebRtcEndpoint',
[符号(kCapture)]:false
},
记录点{
_事件:[对象:空原型]{
removeListener:[函数(匿名)],
newListener:[函数(匿名)],
_description:[函数:绑定],
_rpc:[函数:encodeRpc],
释放:[功能]
},
_活动日期:5,,
_maxListeners:未定义,
id:'bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/9ce3a52e-8684-432a-bf3f-d823a3b67e6f_kurento.RecorderEndpoint',
[符号(kCapture)]:false
},
WebRTC端点{
_事件:[对象:空原型]{
removeListener:[函数(匿名)],
newListener:[函数(匿名)],
_description:[函数:绑定],
_rpc:[函数:encodeRpc],
释放:[功能]
},
_活动日期:5,,
_maxListeners:未定义,
id:'bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/c9c64c19-f0e5-4311-8718-960c61f376ad_kurento.WebRTC端点',
[符号(kCapture)]:false
}
]
连接状态:bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/0c933bd6-77e4-45c5-bcba-782e9f085391_kurento.WebRTC端点已连接
媒体状态:bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/0c933bd6-77e4-45c5-bcba-782e9f085391_kurento.WebRTC端点已连接
连接状态:bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/365B17E-87e7-45e3-aeaa-294d89aa7d0b_kurento.WebRTC端点已连接
媒体状态:bc971f6e-ba80-4d63-ac35-586b7454e36f_kurento.MediaPipeline/365B17E-87e7-45e3-aeaa-294d89aa7d0b_kurento.WebRTC端点已连接