Book Image

MERN Quick Start Guide

By : Eddy Wilson Iriarte Koroliova
3 (1)
Book Image

MERN Quick Start Guide

3 (1)
By: Eddy Wilson Iriarte Koroliova

Overview of this book

The MERN stack is a collection of great tools—MongoDB, Express.js, React, and Node—that provide a strong base for a developer to build easily maintainable web applications. With each of them a JavaScript or JavaScript-based technology, having a shared programming language means it takes less time to develop web applications. This book focuses on providing key tasks that can help you get started, learn, understand, and build full-stack web applications. It walks you through the process of installing all the requirements and project setup to build client-side React web applications, managing synchronous and asynchronous data flows with Redux, and building real-time web applications with Socket.IO, RESTful APIs, and other concepts. This book gives you practical and clear hands-on experience so you can begin building a full-stack MERN web application. Quick Start Guides are focused, shorter titles that provide a faster paced introduction to a technology. They are for people who don't need all the detail at this point in their learning curve. The presentation has been streamlined to concentrate on the things you really need to know.
Table of Contents (8 chapters)

Defining and joining Socket.IO rooms

Within namespaces, you can define rooms or channels that a socket can join and leave.

By default, a room is created with a random un-guessable ID for the connected socket:

io.on('connection', (socket) => { 
    console.log(socket.id) // Outputs socket ID 
}) 

On connection, when emitting an event, for example:

io.on('connection', (socket) => { 
    socket.emit('say', 'hello') 
}) 

What happens underneath is similar to this:

io.on('connection', (socket) => { 
    socket.join(socket.id, (err) => { 
        if (err) { 
            return socket.emit('error', err) 
        } 
        io.to(socket.id).emit('say', 'hello') 
    }) 
}) 

The join method was used to include the socket inside a room. In this case, the socket ID is the joint room, and the only...