【问题标题】:Setting up PeerJS With GAE使用 GAE 设置 PeerJS
【发布时间】:2019-05-21 19:06:04
【问题描述】:

我无法让peerjs 连接到我的服务器。我已经设置了一个运行 peerjs-server 的 GAE 应用程序。服务器运行良好,因为我可以访问 peerjs 端点并获得默认响应 ({"name":"PeerJS Server" etc... )。

但是,我无法从本地文件连接到该服务器。

在我的文件中,我设置了以下代码:

        const peer = new Peer(peer_id, {host: '[somepath].appspot.com', path: '/p2p-broker'});

        peer.on('open', (id)=>{
            console.log('Peer id: ' + id);
        });

理论上,peer.on('open', ... 应该会立即触发,对吧?我根本没有任何动作。我在服务器端设置了连接回调,通过终端通知新连接(本地测试!),但在 GAE 版本中根本不会触发。

我尝试通过日志获取我的peerjs 服务器正在运行的端口,并将该信息包含在Peer-constructor 中,但这会立即引发错误(除了不能通过浏览器工作) .

我很确定没有任何连接发生。

我做错了什么?我必须指定哪个端口?

【问题讨论】:

  • 这是防火墙问题吗?你用的是什么端口?
  • 我在通过控制台启动服务器时发布通过环境变量设置的端口。在那里,它说 8080。但我怀疑这是最终对外界可见的端口。我不知道如何弄清楚这一点。我已经尝试通过我的浏览器访问 peerjs 端点,它的工作原理与描述的一样,但如果我包含端口:[mypath].appspot.com:8080/p2p-broker,则不会。我也试过在我的 web 应用程序中使用端口 80,也不起作用。
  • 如何从 GCloud 控制台找到我的应用程序的端口?
  • 我不知道如何计算端口。当您说您可以使用浏览器访问端点时,是使用 https: 吗?如果是这样,它在端口 443 上。端口很可能被路由到 docker 实例本身的端口 8080(通过类似 NGINX 的东西)。不确定您是否需要打开其他端口以便您的应用程序可以运行,或者您是否可以只使用端口 443(尽管它需要通过 https 进行通信,这是一种不同的协议)
  • 是的,它使用的是 https!我知道我正在监督一个琐碎的细节。它还没有完全解决,但我正在取得进展。暂时关闭https。谢谢!

标签: google-app-engine port peerjs


【解决方案1】:

如果您可以使用浏览器访问端点,是使用 https: 吗?如果是这样,它在端口 443 上。

端口很有可能被路由到 docker 实例本身的 8080 端口(通过 NGINX 之类的东西)。

不确定您是否需要打开其他端口才能让您的应用正常运行,或者您是否可以只使用端口 443(尽管它需要通过不同协议的 https 进行通信)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    相关资源
    最近更新 更多