SOCKET.IO

Socket.IO – Broadcasting

Written by huudoanh

Broadcasting có nghĩa là gửi thông điệp đến tất cả các client đang kết nối. Broadcasting có thể được thực hiện ở nhiều cấp độ. Chúng ta có thể gửi thông điệp đến tất cả các client được kết nối, đến các client trong một namespace và các client trong một room cụ thể. Để phát một sự kiện tới tất cả các client, chúng ta có thể sử dụng phương thức io.emit.

io.emit('some event', { for: 'everyone' });

Trong trường hợp này, để đơn giản, chúng tôi sẽ gửi tin nhắn cho mọi người, kể cả người gửi

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    io.emit('chat message', msg);
  });
});

Ở phía client chúng ta cần bắt sự kiện chat message

<script>
  $(function () {
    var socket = io();
    $('form').submit(function(e){
      e.preventDefault(); // prevents page reloading
      socket.emit('chat message', $('#m').val());
      $('#m').val('');
      return false;
    });
    socket.on('chat message', function(msg){
      $('#messages').append($('<li>').text(msg));
      window.scrollTo(0, document.body.scrollHeight);
    });
  });
</script>