广播消息给除当前客户端之外的所有在线客户端

优质
小牛编辑
140浏览
2023-12-01

为了实现广播消息这一功能,简单的添加一个broadcast标志给emitsend方法的calls,广播意味着发送一个给所有socket(客户端)的消息,不过除了触发这一广播消息的socket(客户端)之外。

服务器端(app.js)

var io = require('socket.io')(80);

io.on('connection', function (socket) {
  socket.broadcast.emit('user connected');
});

客户端(index.html)

<script>
  var socket = io('http://localhost/');
  socket.on('connect', function () {
    socket.send('hi');

    socket.on('message', function (msg) {
      // my msg
    });
  });
</script>

如果你想要深入学习可以打开这个页面,学习 Engine.IO,这(http://Engine.IO)一框架是 http://Socket.IO的基础。