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

Building a multiplayer tic-tac-toe game


We can observe the real power of Socket.IO by using it in a multiplayer game. Although there are many examples of multiplayer games we could implement, tic-tac-toe is one of the more simple games.

The game board is always three tiles long and three tiles tall. The goal is for either user to select any three tiles in a row.

Our final user interface will look something similar to the following image:

Our game will allow any number of players to join and be paired with another player. The paired players will be able to interact on the board together in real time.

Getting ready

In this recipe, we will use jQuery for the DOM manipulation and event delegation.

How to do it…

To create a real-time multiplayer tic-tac-toe game, follow these instructions:

  1. First, create a server.js file to handle the server-side portion of our game. Make sure that you create an instantiated Socket.IO connection on your server before you add the following code:

    var players = {},
         ...