【问题标题】:How do I get HTTPs w/ Express working with websockets on the same port using node?如何使用节点在同一端口上获得带有 Express 的 HTTPs 与 websockets 一起使用?
【发布时间】:2019-06-28 21:20:37
【问题描述】:

我有以下有效的代码...

const app = express();
const server = http.createServer(app);
server.on('error', (err) => console.error(err));
const wss = new WebSocket.Server({ server });
wss.on('connection', (ws) => {
    ...
})

这很好,所以我尝试转换为 https...

const app = express();
const server = https.createServer({
    key: fs.readFileSync(process.env.KEY_FILE),
    cert: fs.readFileSync(process.env.CERT_FILE)
}, app);
server.on('error', (err) => console.error(err));
const wss = new WebSocket.Server({ server });
wss.on('connection', (ws) => {
    ...
})

我现在可以通过我的快速路由进行连接,但不能通过我的 websocket 进行连接。我错过了什么?

【问题讨论】:

    标签: node.js express websocket


    【解决方案1】:

    糟糕的是,使用 https 使其成为安全的 ws,因此您需要使用 wss:// 地址而不是 ws://

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 2014-04-16
      • 2023-03-23
      • 2013-03-09
      • 2015-04-03
      • 1970-01-01
      相关资源
      最近更新 更多