如何使用套接字.localhost中的IO



我想使用套接字。IO在本地主机,这是我的开发环境:

客户机代码:

const socket = io.connect('https://localhost:4000/');
socket.emit('trim-movie/go', data);
socket.on('trim-movie-response', trimResponse);

服务器:

const server = app.listen(port, () => console.log('server is online...'));
const io = socket(server);
io.on("connection", (socket) => {
socket.on('trim-movie/go', (data) => trimMovie(data, socket));
});

但是我得到这个错误:

socket.io.js吗?v = 1:1415 得到https://localhost:4000/socket.io/?EIO=4&transport=polling&t=OI2OmiX404(未找到)

如何解决这个问题?

您的客户端显示httpsURL。您的服务器正在启动http服务器,而不是https服务器,因为app.listen()只启动http服务器。没有办法,https url将连接到一个http服务器,所以这些将永远匹配。

将客户端更改为:

const socket = io.connect('http://localhost:4000/');

或者,如果您的页面已经从同一服务器加载,您可以使用:

const socket = io();

,客户端将从包含网页的URL中获得域名和端口。

还要确保服务器端port变量设置为4000。

最新更新