When a socket sends a message, we don't necessarily want it to receive the message that it sent. We may want to display a different message to the sender than to the receivers. This can be accomplished using the socket.broadcast.emit()
syntax.
To send messages to every socket, except for the sender, follow these steps:
First, create a template for sockets to announce their presence. This will also include a
"messages"
container. Here, we will render incoming messages:<div class="container"> <hr /> <form id="form" class="row"> <div class="col-md-10"> <input class="form-control" id="name" placeholder="Who are you?" /> </div> <div class="col-md-2"> <button class="btn-primary form-control" type="submit">Send</button> </div> </form> <div id="messages"></div> </div>
Then, add some client-side JavaScript to render messages, as shown in the following...