如何使用Node在同一端口上使用带有Express的Websocket来使用HTTP?

时间:2019-06-28 13:18:20

标签: node.js express websocket

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

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) => {
    ...
})

我现在可以通过快递路线进行连接,但不能通过网络套接字进行连接。我想念什么?

1 个答案:

答案 0 :(得分:0)

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