我有两个不同的文件,其中一个是服务器端JS,另一个是动态生成的客户端PHP。
这两个文件可以通过Socket.IO成功地相互通信。
我知道可以使用.of()来限制命名空间,但无法用于处理动态创建的聊天室。
因此,我决定同时使用两个文件。
.of('/chat')
并且房间特性
.join('room name')
我能找到服务器端的示例,但找不到与之对应的客户端示例。
以下是来自Socket.IO github仓库中唯一已有的服务器端代码片段。
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.join('justin bieber fans');
socket.broadcast.to('justin bieber fans').emit('new fan');
io.sockets.in('rammstein fans').emit('new non-fan');
});
1)我不太理解以下部分。
socket.broadcast.to('justin bieber fans').emit('new fan');
io.sockets.in('rammstein fans').emit('new non-fan');
这两者有什么区别?
2) 为什么不使用它?
socket.to('room name').emit('event')
取代
io.sockets.in('room name').emit('new non-fan');
3) 最后,我找到了一些文档,提到使用
.send()
代替
.emit()
我有一个问题,.send() 函数对我无效,我想知道这两者之间的区别。
谢谢,并为关于 Socket.IO 的多个问题而道歉。