我想使用套接字。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(未找到)
如何解决这个问题?
您的客户端显示https
URL。您的服务器正在启动http
服务器,而不是https
服务器,因为app.listen()
只启动http
服务器。没有办法,https url将连接到一个http服务器,所以这些将永远匹配。
将客户端更改为:
const socket = io.connect('http://localhost:4000/');
或者,如果您的页面已经从同一服务器加载,您可以使用:
const socket = io();
,客户端将从包含网页的URL中获得域名和端口。
还要确保服务器端port
变量设置为4000。