我正面临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);
})
});
我在哪里弄错了?
答案 0 :(得分:0)
您的服务器正在8000
端口上运行,但是您记录到它正在3000
上运行。因此,请尝试使用localhost:8000
连接网址进行连接。
您还可以将服务器更改为在端口3000
而不是8000
上运行。
const PORT=3000;
const server = app.listen(PORT, () => console.log(`${PORT} is the port`));