卡在 WebRTC ICE 检查状态 [英] stuck in WebRTC ICE checking state

查看:57
本文介绍了卡在 WebRTC ICE 检查状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试让浏览器客户端使用 WebRTC 与我的 C++ linux 应用程序连接.所以我的环境不是典型的三角形 WebRTC,其中 2 个浏览器通过服务器设置 WebRTC 调用.相反,浏览器客户端是典型的,但我的应用程序充当服务器和远程客户端,因此它执行信令并使用 gstreamer 流式传输 SRTP 媒体.

I am trying to get a browser client to connect with my C++ linux application using WebRTC. So my environment is not the typical triangle WebRTC where 2 browsers setup a WebRTC call thru a server. Instead, the browser client side is typical, but my application is acting as the server and the remote client, so it does the signalling and also streams the SRTP media using gstreamer.

我在某种程度上是成功的.我已经成功交换了ice候选人并且offer/answer SDP交换也成功了.浏览器 ICE 连接状态成功进入正在检查"状态,此时我卡住了.

I am successful up to a point. I have successfully exchanged the ice candidates and the offer/answer SDP exchange is also successful. The browser ICE connection state successfully goes to "checking" and at that point I am stuck.

问题:检查冰的操作是否涉及服务器或远程浏览器?也就是说,浏览器是否与 STUN 服务器或来自远程端的实际候选地址进行 ICE 检查.这意味着我的 C++ 应用程序必须参与该检查过程.

Question: Is the server or remote browser involved in the ice checking operations? That is, does the browser do the ICE checking with the STUN server or with the actual candidate address from the remote end. That would then imply that my C++ application has to be involved in that checking process.

谢谢,-安德烈斯

推荐答案

您的服务器至少需要响应作为 ICE 一部分发送的 STUN 绑定请求.

your server needs to respond to STUN binding requests at least which are sent as part of ICE.

如果您的服务器始终具有公共 IP,请使用 ice-lite(请参阅 RFC 5245) 会让你的生活更轻松.

If your server always has a public IP, using ice-lite (see RFC 5245) will make your life a lot easier.

这篇关于卡在 WebRTC ICE 检查状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆