Socket.io api不一致或它是如何工作的?

时间:2016-09-05 21:43:49

标签: socket.io

当我这样做时:

socket.join('room');
socket.to('room').emit('online');

客户端从未收到过'在线' -event。

当我这样做时:

 socket.join('room');
 io.to('room').emit('online');

在客户端收到' online' -event。

当我这样做时:

socket.join('room', () => {
    socket.to('room').emit('online');
});

客户端从未收到过'在线' -event。

文档陈述如下:

http://socket.io/docs/server-api/#socket#to(room:string):socket

如果我读到这个电话:

socket.to('room').emit('online');

应该被送到房间。

如果我使用电话:

socket.broadcast.to('room').emit('online');

事件应该发送到除插座之外的房间。

现在看起来像是:

socket.to('room').emit('online');

io.to('room').emit('online');

是不同的。但是我从我阅读的文档中读到的内容是相同的。

有人可以解释这些差异以及为什么表现不同?

0 个答案:

没有答案