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

Responding to tap events from the device


One cool thing about having a central server-side location to emit events from using Socket.IO is that you can use it as an API for multiple applications.

In this recipe, we will emit events to the server every time a user taps on a button on our app. The server will then emit the tap data to the client side, where it will be displayed on an analytics page.

This technique can be useful for gathering analytics data in real time, and watching the results of A/B testing as they happen.

How to do it…

To respond to tap events from the device by updating the counts on our analytics page, follow these steps:

  1. First, we will create our new Cordova app by running cordova create app com.client.tapsclientTaps.

  2. Next, we will add the iOS platform by running cordova platform add ios, and build it by running cordova build ios.

  3. Now, we can create our server. This server will go in server.js, and it is only responsible for listening for tap events and emitting the events...