Book Image

Advanced Node.js Development

By : Andrew Mead
2 (1)
Book Image

Advanced Node.js Development

2 (1)
By: Andrew Mead

Overview of this book

Advanced Node.js Development is a practical, project-based book that provides you with all you need to progress as a Node.js developer. Node is a ubiquitous technology on the modern web, and an essential part of any web developer’s toolkit. If you're looking to create real-world Node applications, or you want to switch careers or launch a side-project to generate some extra income, then you're in the right place. This book was written around a single goal: turning you into a professional Node developer capable of developing, testing, and deploying real-world production applications. There's no better time to dive in. According to the 2018 Stack Overflow Survey, Node is in the top ten for back-end popularity and back-end salary. This book is built from the ground up around the latest version of Node.js (version 9.x.x). You'll be learning all the cutting-edge features available only in the latest software versions. This book delivers advanced skills that you need to become a professional Node developer. Along this journey you'll create your own API, you'll build a full real-time web app and create projects that apply the latest Async and Await technologies. Andrew Mead maps everything out for you in this book so that you can learn how to build powerful Node.js projects in a comprehensive, easy-to-follow package designed to get you up and running quickly.
Table of Contents (17 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Adding Socket.io to an app


Now that you have a basic Express application up and running, in this section, you'll configure your server to allow for incoming WebSocket connections. This means the server will be able to accept connections and we'll be setting up the client to make the connections. Then, we'll have a persistent connection and we can send data back and forth, whether it's data from the server to the client, or data from the client to the server. That is the beauty of WebSockets—you can send data in either direction.

Now, in order to set up WebSockets, we'll be using a library called Socket.io. Just like Express makes it really easy to set up an HTTP server, Socket.io makes it dead simple to set up a server that supports WebSockets and to create a frontend that communicates with the server. Socket.io has a backend and frontend library; we'll be using both to set up WebSockets.

Setting up Socket.io

To get started, inside the Terminal, let's go ahead and install the most recent version...