Book Image

Socket.IO Cookbook

By : Tyson Cadenhead
Book Image

Socket.IO Cookbook

By: Tyson Cadenhead

Overview of this book

Socket.IO is a JavaScript library that provides you with the ability to implement real-time analytics, binary streaming, instant messaging, and document collaboration. It has two parts: a client-side library that runs in the browser, and a server-side library for node.js. Socket.IO is event-driven and primarily uses the WebSocket protocol that allows us to emit data bi-directionally from the server and the client. Socket.IO This book is a complete resource, covering topics from webSocket security to scaling the server-side of a Socket.IO application and everything in between. This book will provide real-world examples of how secure bi-directional, full-duplex connections that can be created using Socket.IO for different environments. It will also explain how the connection vulnerabilities can be resolved for large numbers of users and huge amounts of data/messages. By the end of the book, you will be a competent Socket.IO developer. With the help of the examples and real-world solutions,you will learn to create fast, scalable, and dynamic real-time apps by creating efficient messaging systems between the server side and the client side using Socket.IO.
Table of Contents (15 chapters)
Socket.IO Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Loading static data from the server


In order to understand how Socket.IO pushes data to the client, we will create an application that emits a static object. Although this exercise may seem contrived, the only difference between static data and dynamic data is that static data only needs to be emitted once, whereas dynamic data needs to be emitted on each mutation. The client side doesn't concern itself with the frequency of state changes, so the difference between emitting data once and emitting data frequently is inconsequential. If we can rerender the state of a dashboard once, we can rerender it a million times.

Once we've completed this recipe, our dashboard will look similar to the following screenshot:

Getting ready

In addition to Socket.IO and Node, we will use Express for this exercise. Make sure that you have installed Express by running npm install express socket.io on your terminal.

How to do it…

To load static data with Socket.IO, follow these steps:

  1. Create your server.js Node file...