【发布时间】:2015-06-10 00:23:10
【问题描述】:
如果客户端向房间发送消息,我如何才能将该消息发送给房间中的所有其他客户端?
目前在服务器上我要做的:
io.on('connection', function (socket) {
socket.on('join', function (room) {
socket.join(room);
socket.on('food.create', function (foods) {
socket.broadcast.to(room).emit('food.create', foods);
});
socket.on('food.update', function (foods) {
socket.broadcast.to(room).emit('food.update', foods);
});
socket.on('food.remove', function (foods) {
socket.broadcast.to(room).emit('food.remove', foods);
});
});
});
io.listen(3000);
这很好,现在只有 3 条消息,但是当我添加更多消息时,它会变得很长。 socket.io 是否提供了一种将来自一个客户端的所有消息自动转发到该房间中的所有其他客户端的方法?
【问题讨论】:
-
您能告诉我们您打算拥有多少种类型的消息吗? CRUD 还不够吗? (创建读取更新删除)
-
是的,但除了食物之外。我正在将它重构为一个函数,该函数接受一个像“food”这样的字符串,但看起来还是有点难看
标签: javascript node.js socket.io