express - 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 新手。任何帮助将不胜感激!
解决方案
将此添加到您的服务器文件中:
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",
});
推荐阅读
- dataweave - 通过 mulesoft 插入多个 XML 标签作为 Salesforce 记录
- mysql - 在 MySQL/8 for Windows 中禁用二进制日志
- python - Python - If 语句:Elif 或 Else 不适用于密码生成代码
- websocket - 如何在 flask_socketio 中列出所有连接的客户端?
- java - 预填充数据库在android中不起作用
- node.js - 使用Nodejs向oracle发送数据时,即使收到错误,我也看不到记录的原因是什么?
- apache-spark - 如果在选择数据时缺少外部表分区位置数据,在 Hive 中如何通过错误?
- java - 在Realme中查询短信收件箱总是返回空值
- javascript - 通过 PHP / HTML 按钮删除 MYSQL DB 条目
- ios - 所有 pod 都可以与新 Xcode 测试版中的多平台应用程序一起使用吗?