【问题标题】:Cordova peer-to-peer app using webRTC使用 webRTC 的 Cordova 点对点应用程序
【发布时间】:2016-03-03 11:51:30
【问题描述】:

我必须构建一个跨平台的点对点应用程序(至少支持 iOS 和 Android)。为此,我正在使用 Cordova。目前我可以使用 ZeroConf 插件进行服务发现。现在我想在发现时建立点对点连接。

已经使用 Titanium 制作了一个等效的应用程序。发现后,它使用套接字连接到发现的机器。

/*
    Service Discovery resulting in an IP address and port number
    ...
*/

socket = Titanium.Network.createTCPSocket({
    hostName: discoveredHostName,
    port: discoveredPort,
    mode: Titanium.Network.READ_WRITE_MODE
});
...
socket.connect();

但是,我需要将应用程序转换为 Cordova,因此我需要替代 Titanium 版本中使用的那些套接字。 使用中间服务器不是一种选择(仅用于发出信号可能用于消息交换)。

我的导师建议使用 webRTC,因为它是一个简单的标准 Javascript API,提到它可以在 iOS 上运行,参考 official website which metions iOS support。我实现了它,在浏览器中对其进行了测试,它就像一个魅力。

但是,在 iOS webRTC 上测试时不起作用

var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection || window.msRTCPeerConnection;

这在浏览器中有效,但在 iOS 上这会导致 RTCPeerConnection 成为 undefined我想我错过了什么,因为官方网站提到了 iOS 支持?

【问题讨论】:

    标签: android ios cordova webrtc p2p


    【解决方案1】:

    MacOSiOS 的 Safari不支持WebRTC:

    http://caniuse.com/#search=webrtc

    引用的文章 (https://webrtc.org/native-code/ios/) 指的是 iOS 上的原生开发,我认为是使用实现 WebRTC API 的库或 SDK。

    使用 Cordova 框架,您不能原生依赖启用 WebRTC 的 WebView,但您必须采用特定插件或使用 Crosswalk 替换 Cordova WebView(例如)。

    在 iOS 上,实现 w3c WebRTC API 的插件是 iosrtc,但它有一些 issues 待定,并且对 video 元素实现有一些限制。

    【讨论】:

    • 好的,我就是这么想的,谢谢!这绝对不会让事情变得更容易.. 我看到了一个 Cordova 的 WebRTC 插件,会试一试。是否存在一些与 iOS 和 Android 兼容的 webRTC 插件?附带说明:这意味着无法使用 webRTC 在 iOS、Android 和 pc 之间实现互操作性? (这超出了我的任务范围,但纯粹是出于好奇)。这是我正在谈论的插件:npmjs.com/package/cordova-plugin-webrtc
    • 我个人使用 Crosswalk 开发了一个 Cordova/Ionic 应用程序,Android 版本使用 Crosswalk,iOS 版本使用 cordova-plugin-iosrtc。有几个 cordova WebRTC 插件,但每个都有一个限制。由于 WebRTC,不同平台上不同设备之间的互操作性成为可能:我的应用程序(Web、Android 和 iOS)在它们之间成功交互。
    • 问题是我必须将我的工作整合到一个大项目中,这个想法是之后整个项目不会绑定到 Cordova(或 Ionic),但可以使用 Titanium 版本或Cordova 版本的网络部分。恐怕我会将整个项目绑定到 Cordova,因此我只需要能够发送文本,提供数据通道的简单插件(理想情况下与 iOS 和 Android 兼容)会很好,但似乎不存在.
    • 对不起,我没有注意到... WebRTC,目前还不是成熟的技术。请记住,其他标准正在开发中 (ortc.org)
    • 我试过iosrtc,效果很好,谢谢分享:)
    猜你喜欢
    • 2021-05-17
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多