【发布时间】:2019-12-23 11:54:11
【问题描述】:
我在尝试设置 nodejs - 浏览器 socket.io 连接时遇到一个奇怪的错误。
我已经将socket.io相关代码迁移到一个文件中,这里是:
import socketIO from 'socket.io';
import https from 'https';
import express from 'express';
import fs from 'fs';
var listener,
io;
listener = https.createServer({
key: fs.readFileSync('/path/to/key'),
cert: fs.readFileSync('/path/to/crt')
}, express());
listener.listen(3200, function() {
console.log("Listening on 3200");
io = socketIO(listener, {
rejectUnauthorized: false,
wsEngine: "ws"
});
io.on('connection', function(socket){
console.log('a user connected');
});
});
如果我使用node main.js 运行此文件,控制台会输出以下消息:
(node:615) ExperimentalWarning:ESM 模块加载器是实验性的。
在 3200 上收听
现在,如果我尝试使用浏览器导航到 https://my.domain.name:3200,浏览器会输出以下消息:
无法获取/
并且没有收到来自节点服务器的输出。
什么可能导致这个问题?
【问题讨论】: