简体   繁体   English

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

[英]How do I get HTTPs w/ Express working with websockets on the same port using node?

I have the following code that works... 我有以下有效的代码...

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

This works great so I try to convert to https... 这很好用,所以我尝试转换为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) => {
    ...
})

I can now connect via my express routes but not my websocket. 现在,我可以通过快递路线进行连接,但不能通过网络套接字进行连接。 What am I missing? 我想念什么?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM