【问题标题】:Is possible that browser p2p with non-browser(not client-server,not relay)浏览器 p2p 是否可能带有非浏览器(不是客户端服务器,不是中继)
【发布时间】:2016-04-13 08:00:43
【问题描述】:

我正在尝试找到使NAT后面的浏览器(Windows)可以与另一个NAT后面没有配置路由器的嵌入式linux设备进行p2p的解决方案,我已经调查并尝试了其他方法,但都无法正常工作:

1.UDP打孔

a.browser 无法发送 UDP 数据包(chrome.socket 似乎可以)
b.浏览器无法绑定端口

2.TCP打孔

浏览器无法绑定端口,很难做到

3.WebRTC(学习)

我想交叉编译到我的嵌入式 linux 设备,尝试使用 RTCPeerconnectionRTCDataChannel 两个 WebRTC API 到 p2p 与浏览器,我不确定是否可以可以工作

4.RTP流(还没试过)

因为我想从设备获取视频直播,我之前看到视频流可以通过 RTP 传输,但是 RTP 基于 UDP,我不确定它是否有效

我也搜索了case1case2之类的类似案例,但我仍然不知道该怎么做,是否可行?

【问题讨论】:

    标签: sockets browser embedded video-streaming webrtc


    【解决方案1】:

    答案是 WebRTC。

    WebRTC 无需任何额外工作即可做到这一点(这就是它的优势)。这是通过使用 STUN 来发现外部地址的 ICE 完成的(STUN 服务器本身不会中继任何东西。它只是一个简单的乒乓协议,用作 NAT 处理的标准)。

    但是,通过这种方式,您绕过 NAT 的成功率只有 80-90% 左右(如果我们查看全局统计数据)。对于其余部分,您将需要一个 TURN 服务器并将其配置为供您的 WebRTC 客户端使用,以处理 NAT 后面的 2 个端点之间的 UDP 路由无法正常工作的情况。

    【讨论】:

    • 谢谢,但是很难做,我已经尝试了好几天了,我觉得我还需要更多的时间来学习..
    猜你喜欢
    • 1970-01-01
    • 2011-04-20
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 2013-06-04
    • 2019-03-11
    相关资源
    最近更新 更多