我找了4天了,还是没找到。我构建了所有库并将其集成到我的自定义项目中,但我不知道应该采取哪些步骤才能使其正常工作。我在代码示例\解释中发现的唯一内容是 tech.appear.in/2015/05/25/Getting-started-with-WebRTC-on-iOS ,但对我来说它很差而且不清楚,AppRTCDemo源代码也是如此。我读到了关于浏览器的 WebRTC,但仍然无法在 iOS 上重现它。
任何人都可以解释或提供有关如何使用 WebRTC API 完全构建 iOS 本机应用程序(例如 p2p ios 聊天)的解释链接吗?
除了我不理解演示中提供的代码逻辑之外,我无法理解:
1) 我的 iOS 应用程序的 ICE 服务器是什么?我应该照顾它吗?是服务器端的东西吗?我应该自己编码并运行它,还是可以使用现有的 Parse 背景?
2)iOS应用程序中的信号机制是什么?是仅在客户端实现,还是也必须在服务器端实现?
3)也许有人可以解释分步指南,也许用一些代码,如何使用 WebRTC 实现简单的 iOS p2p 聊天?例如:
“你必须:
使用此 =source= 和本教程 =tutorial= 在解析核心上创建 ICE/STUN/TURN 服务器。
使用创建的 ICEServer 创建 RTCPeerConnection:RTCPeerConnectionFactory *pcFactory = [[RTCPeerConnectionFactory alloc] init];
RTCPeerConnection *peerConnection = [pcFactory peerConnectionWithICEServers:kICEServerURL constraints:nil delegate:self];
使用创建数据通道...
发送信号使用...
这里解释=链接=
设置本地和远程描述...
发送数据...
using ...
...”或类似的东西。
我很抱歉问这个问题,但我正在失去理智试图弄清楚。谢谢你!
我不是 webrtc 方面的专家,但我会尽力解释你的一些问题。
1.ICE 服务器——NAT 和防火墙在设置 IP 端点时带来了重大问题。因此IETF标准STUN、TURN和ICE被制定来解决NAT穿越问题。
STUN 帮助连接 IP 端点:
- 发现它们是否位于 NAT/防火墙后面,如果是,
- 确定防火墙的公共 IP 地址和类型。然后 STUN 使用此信息来协助建立点对点 IP 连接。
TURN 代表使用中继 NAT 遍历,它提供了一种使用媒体中继服务器的后备 NAT 遍历技术,以促进端点之间的媒体传输。
ICE 是一个利用 STUN 和 TURN 提供可靠的 IP 设置和媒体传输的框架,通过 SIP 提供/应答模型为端点交换多个候选 IP 地址和端口(例如私有地址和 TURN 服务器地址) 。
2.信令是协调通信的过程。这个信令部分需要由您根据您的需要来实现(例如,如果您有 sip 结构,那么您将必须实现 sip 信令)。为了让 WebRTC 应用程序建立“呼叫”,其客户端需要交换信息:
现在通过调用 setLocalDescription 函数创建 SDP Offer,并通过调用 setRemoteDescription 函数设置远程 SDP。
对于回答者:
- 设置远程描述
- 创建答案
- 设置本地描述
- oniceCandidate--关于获取本地生成的 ICE
- addiceCandidate--获取其他peer发送的ICE
- onaddstream--用于远程添加流
我希望这能够消除您的一些疑虑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)