使用WebRTC构建iOS本机应用程序
我搜索了4天,但是找不到。我构建了所有库,并将其集成到我的定制项目中,但我不知道应该采取哪些步骤使其正常工作。我在代码示例\解释中发现的唯一一件事是tech.execute.in/2015/05/25/Getting-started-with-WebRTC-on-iOS,但它对我来说很差,也不清楚,还有ApprtDemo源代码。我读过关于浏览器的WebRTC,但仍然无法在iOS上复制它。 是否有人可以解释或提供链接,说明如何使用WebRTC API(例如p2p iOS聊天)完全构建iOS本机应用程序 除了我不理解演示中提供的代码逻辑之外,我还不理解: 1) iOS应用程序的ICE服务器是什么?我应该照顾它吗?它是服务器端的东西吗?我应该自己编写并运行它,还是可以使用现有的解析背景 2) iOS应用程序中的信号机制是什么?它是仅在客户端实现,还是也必须在服务器端实现 3) 也许有人可以用一些代码解释一下如何使用WebRTC实现简单的iOS p2p聊天?例如: “你必须:使用WebRTC构建iOS本机应用程序,ios,objective-c,iphone,native,webrtc,Ios,Objective C,Iphone,Native,Webrtc,我搜索了4天,但是找不到。我构建了所有库,并将其集成到我的定制项目中,但我不知道应该采取哪些步骤使其正常工作。我在代码示例\解释中发现的唯一一件事是tech.execute.in/2015/05/25/Getting-started-with-WebRTC-on-iOS,但它对我来说很差,也不清楚,还有ApprtDemo源代码。我读过关于浏览器的WebRTC,但仍然无法在iOS上复制它。 是否有人可以解释或提供链接,说明如何使用WebRTC API(例如p2p iOS聊天)完全构建iOS本机应用
rtpeerconnectionfactory*pcFactory=[[rtpeerconnectionfactory alloc]init];
RTPEERCONNECTION*peerConnection=[pcFactory peerConnectionWithICEServers:kICEServerURL约束:nil委托:self];
…
…
发送信号=链接=…
..
发送数据我很抱歉问你这个问题,但我想弄清楚这件事,我都快发疯了。谢谢大家! 我在几个月前完成了实施过程。我发现图书馆不稳定——有时正常,有时不正常 此外,我的iPhone在使用时总是变得很热 我不建议将此库和整个WebRTC技术用于商业项目 这是我的实施方案,几个月前还在运行:
祝你好运 我不是webrtc方面的专家,但我将尝试解释您的一些问题 1.ICE服务器——NAT和防火墙在设置IP端点时带来了重大问题。因此,IETF标准STUN、TURN和ICE被开发用来解决NAT穿越问题。 STUN有助于连接IP端点:
- 发现它们是否位于NAT/防火墙后面,如果是
- 确定防火墙的公共IP地址和类型。然后,STUN使用此信息帮助建立对等IP连接
- 用于打开或关闭通信的会话控制消息
- 错误消息
- 媒体元数据,如编解码器和编解码器设置、带宽和媒体类型
- 密钥数据,用于建立安全连接
- 网络数据,如外部世界看到的主机IP地址和端口
- 台阶 报价人:
- 首先创建对等连接并将ice候选项传递给它 作为参数
- 为三个事件设置事件处理程序:
- onicecandidate——onicecandidate返回本地生成的ICE候选对象,以便您可以将它们传递给其他对等方,即STUN/TURN服务器返回的ICE候选列表;这些候选ice包含您的公共ipv4/ipv6地址以及UDP随机地址
- onaddstream——onaddstream返回远程流(朋友的麦克风和摄像头!)。
- addStream`为其他同行连接本地麦克风和摄像头
- setRemoteDescription
- createAnswer
- setLocalDescription
- oniceCandidate——关于获取本地生成的冰
- addiceCandidate--关于获取其他对等方发送的ICE
- onaddstream——用于添加远程流
我希望这能澄清您的一些疑问。谢谢!在模拟器上生成失败,但我在设备上成功运行。它是否与演示应用程序使用的功能相同(连接到房间)?你能为我自己的iOS p2p聊天应用澄清一下关于ICE/TURN/STUN服务器的时刻吗?“1)我的iOS应用程序的ICE服务器是什么?我应该负责吗?它是服务器端的吗?我应该自己编码并运行它,还是可以使用现有的解析后台?2)iOS应用程序中的信号机制是什么?它只是客户端,还是也必须在服务器端实现?”谢谢。嘿,Artur Olszak,这是一个很棒的演示,但我想实现一对一的视频/音频通话,比如whatsapp和facebook?你将采取什么方法来实现这一点?你建议我怎么做?请检查此选项,给出错误->未找到-lstdc++的ld:library。6提示:错误:链接器命令失败,退出c