无法从 io.emit() 接收数据



我正试图向所有客户端发送数据,只是为了测试socket.io的工作方式。无论我如何尝试,似乎都无法从服务器获取任何数据。

事件被触发,因此数据到达服务器端,但没有到达客户端。

在服务器端,我这样做:

io.on('connection', (socket) => {
socket.on('chatMessage', data => {
console.log(data);
io.emit(data);
});
});

这里的console.log((是有效的,所以直到那一行都很好。

在客户端,我试图简化事情,以看到这样的结果:

const socket = io.connect('http://localhost:5000');
socket.on('connect', () => {
socket.emit('chatMessage', {a:"fsdfsdfsd"});
});
socket.on('chatMessage', data =>{
console.log(data);
});

socket.emit((启动,但它没有到达任何位置。我以前从未使用过socket.io,但我读过文档,上面说io.emit((将数据发送到所有连接的客户端。

以防万一,我尝试了连接多个客户端,但仍然不起作用。

我建议的第一件事是通过在服务器端的on连接块中添加console.log()来检查客户端是否真的连接到了服务器套接字。

此外,服务器端的io.emit(data);也不起作用,因为emit函数的第一个参数应该是事件名称。

最新更新