【问题标题】:How to PeerJS over the Internet?如何通过 Internet 进行 PeerJS?
【发布时间】:2020-09-02 14:04:42
【问题描述】:

在本地 LAN 中一切正常,但在 Internet 上则无法正常工作。 我读了很多关于 WebRTC Signaling 的文章。

我使用以下 node.js peerjs 服务器

我的配置有什么问题?

var fs = require('fs');
var PeerServer = require('peer').PeerServer;

var server = PeerServer({
    port: 3001,
    debug: true,
    path: '/peerjs',
    ssl: {
        key: fs.readFileSync('privkey.pem', 'utf8'),
        cert: fs.readFileSync('fullchain.pem', 'utf8')
    },
    config: {'iceServers': [
    { url: 'stun:stun.l.google.com:19302' },
  ]} 
});

【问题讨论】:

    标签: javascript node.js peerjs


    【解决方案1】:

    首先,您需要使用不在本地网络上的 PeerServer(=可访问互联网)。 peer.js提供了一个,客户端没有指定PeerServer URL时默认使用。

    要建立连接,像 socket.io 这样的库非常有用。这个视频给出了很好的解释:https://www.youtube.com/watch?v=DvlyzDZDEq4

    【讨论】:

    • 我使用了相当不错的示例代码。但是如何让它在互联网上运行呢?
    • @HorusSirius 我的版本正在互联网上运行...查看这个 repo:github.com/codemaster138/overwire 和现场演示:overwire.herokuapp.com
    • 万一其他人来到这里,上面的演示可以添加/通知用户正在尝试连接,但底层的 WebRTC 流通常不能在互联网上工作(如果两个客户端在 NAT 之后)。我猜是因为没有设置 TURN 服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多