【问题标题】:How to use socket.io in localhost如何在本地主机上使用 socket.io
【发布时间】:2022-11-17 08:19:21
【问题描述】:

我想在我的开发环境 localhost 中使用 socket.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=OI2OmiX 404(未找到)

如何解决这个问题?

【问题讨论】:

  • 我很确定套接字 io 使用 ws 协议,而不是 https
  • 我应该怎么办 ?
  • io.connect('ws://localhost:4000/')
  • 它带来了:socket.io.js?v=1:1415 GET http://localhost:4000/socket.io/?EIO=4&transport=polling&t=OI2QjQX net::ERR_EMPTY_RESPONSE
  • 实际上只是使用io.connect(':4000')

标签: javascript node.js socket.io


【解决方案1】:

您的客户端显示 https URL。您的服务器正在启动 http 服务器,而不是 app.listen() 所做的 https 服务器。没办法,这些永远匹配。

将客户端更改为:

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

并且,确保服务器端 port 变量设置为 4000。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 2013-12-07
    • 1970-01-01
    • 2019-06-29
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多