首页 > 解决方案 > peerjs 在 loaclhost 上工作,但不在 heroku 上?

问题描述

我在 3000 端口上运行节点服务器,在端口 3001 上运行对等服务器。在这种情况下,它工作正常。但是当部署在 heroku 上时,我在 3000 上运行我的服务器,在 443 上运行对等服务器。在这种情况下,peerjs 没有工作。我猜这可能是端口分配问题,但我找不到问题。

peer.js

const myPeer = new Peer( {
secure:true,
host: 'my-app-name.herokuapp.com',
port: 443
})

服务器.js

const PORT = process.env.PORT || 3000;
server.listen(PORT, () => console.log(`Server running on port ${PORT}`));

github链接到项目:链接

Heroku 新手。任何帮助将不胜感激!

标签: expressherokusocket.iowebrtcpeerjs

解决方案


将此添加到您的服务器文件中:

var ExpressPeerServer = require("peer").ExpressPeerServer;    
var options = {
  debug: true,
  allow_discovery: true,
};
let peerServer = ExpressPeerServer(server, options);
app.use("/peerjs", peerServer);

并像这样在客户端调用:

var peer = new Peer({
                host: "yoursite.herokuapp.com",
                port: "",
                path: "/peerjs",
              });

推荐阅读