我正试图向所有客户端发送数据,只是为了测试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函数的第一个参数应该是事件名称。