Janus网关视频室60秒后取消连接

问题描述 投票:0回答:1
"peerConnection new connection state: connected"
{
   "janus": "webrtcup",
   "session_id": 3414770196795261,
   "sender": 4530256184020316
}
{
   "janus": "media",
   "session_id": 3414770196795261,
   "sender": 4530256184020316,
   "type": "audio",
   "receiving": true
}

... 1 minute passes

"peerConnection new connection state: disconnected"
{
   "janus": "timeout",
   "session_id": 3414770196795261
}
"peerConnection new connection state: failed"

请看 糊状物 的完整日志。

我正试图加入Janus服务器上的一个视频室。所有请求似乎都成功了,我的设备在连接因超时而被取消之前,显示了大约一分钟的WebRTC连接状态。WebRTC连接断开似乎与Janus的API断开的WebSocket连接相吻合。

我试着每隔10秒添加一条心跳的WebSocket消息,但这并没有帮助。我是

  1. 入席
  2. 接收我的本地SDP和候选人
  3. 用所述SDP配置房间
  4. 瞑目
  5. 接受我的WebRTC对等连接的回答。

不知道这里出了什么问题。

我也试过在Janus配置中设置一个STUN服务器,但没有用。同样的问题。

把服务器的日志也加到了pastebin里。

webrtc sdp janus-gateway
1个回答
0
投票

RTFM:Janus的websocket连接需要每<60s进行一次keepalive。

需要指出的一个重要方面是与WebSockets Janus通道的keep-alive消息有关。一个Janus会话只要在60秒内没有不活动,就会保持活力:如果在这个时间段内没有收到消息,会话就会被服务器撕掉。正常的会话活动通常足以防止这种情况发生;对于更长时间的消息不活动,在普通的HTTP上,会话通常是通过常规的长轮询请求来保持活力的,只要会话是活动的。当使用WebSockets时,这种帮助显然是不可能的,因为在WebSockets中,发送请求和接收事件和响应都使用单一通道。出于这个原因,一个用于保持Janus会话活力的临时消息应该定期被触发。链接.

© www.soinside.com 2019 - 2024. All rights reserved.