【问题标题】:socket.io showing polling-xhr.js:268 POST http://localhost:3000/socket.io/?EIO=3&transport=polling&t=ND_oTrA 404 (Not Found)socket.io 显示 polling-xhr.js:268 POST http://localhost:3000/socket.io/?EIO=3&transport=polling&t=ND_oTrA 404(未找到)
【发布时间】:2020-08-22 23:37:34
【问题描述】:

我遇到了 socket.io 连接问题。我知道这个问题已经被问过很多次了。我也尝试了这些问题的解决方案,但没有一个解决方案对我有用。

这是我的代码:

const express = require('express');
var app = express();
var server = app.listen(8000, () => console.log('3000 is the port'));
var io = require('socket.io').listen(server);

const users = {};

io.on('connection', socket => {
  console.log('connection ')
    if (!users[socket.id]) {
        users[socket.id] = socket.id;
    }
    socket.emit("yourID", socket.id);
    io.sockets.emit("allUsers", users);
    socket.on('disconnect', () => {
        delete users[socket.id];
    })

    socket.on("callUser", (data) => {
        io.to(data.userToCall).emit('hey', {signal: data.signalData, from: data.from});
    })

    socket.on("acceptCall", (data) => {
        io.to(data.to).emit('callAccepted', data.signal);
    })
});

我在哪里做错了?

【问题讨论】:

  • 嗨@Jayna,你能分享你尝试过的解决方案和你遇到的错误吗!它可以帮助人们建立对问题的看法,以便为您提供帮助。
  • @faruk13,我已经提到了错误 -> polling-xhr.js:268 POST-localhost:3000/socket.io/… 404 (Not Found) 作为解决方案,我把最新的..
  • @faruk13,是不是和端口有关?由于我的前端 REACT 在端口 3000 上运行。但是当套接字连接建立时它甚至没有记录连接..

标签: node.js sockets socket.io


【解决方案1】:

您的服务器正在8000 端口上运行,但您记录它正在3000 上运行。因此尝试使用localhost:8000 连接网址进行连接。

您还可以将服务器更改为在端口 3000 而不是 8000 上运行。

const PORT=3000;
const server = app.listen(PORT, () => console.log(`${PORT} is the port`));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 2020-11-24
    • 1970-01-01
    • 2017-02-25
    • 2021-07-09
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多