4.55 out of 5
4.55
375 reviews on Udemy

Socket.IO (with websockets) – the details. (socket io v2)

Socket io. For those who want to learn how to harness real-time communication on the web. With Cluster, redis, & React
Instructor:
Robert Bunch
3,241 students enrolled
English [Auto-generated]
Socketio. That's (mostly) all we cover so when you finish, you'll know it!
Setup a socketio application between the browser and an Express server and run real-time back and forth
Understand the basics of websockets and how they work
The basics of the transport layer and how a packet works

Websockets are one of the coolest things to hit the web in ages. They allow the browser real-time communication bridging one of the last gaps in both human and web-based communication. Socket io is the king library that uses websockets under the hood. There’s a good chance if you’re reading this, you’ve heard about socket io. Maybe even done a tutorial on it. But how far did you get? In my experience, the vast majority of the material on the web goes no farther than a quick-start, instant chat app. You don’t learn how anything works, never look at the docs, and are stuck at the end wondering what to do now. The remaining shred of material is waaaaay over everyone’s head. The fact that the websocket API was standardized in 2011 and most developers still don’t know how to use it is evidence of the gap.

This course is meant to alleviate that! It is not a quick start guide to socket.IO. There are loads of those all over the Internet. You should definitely look elsewhere if you are wanting a 10 minute intro to the 3-4 things you need to know to make something quick. On the other hand, if you are looking to really learn one of the most awesome JavaScript libraries in socket io, you should stick around. Like Express and other JavaScript/Node pieces,  it’s getting passed over in the wave to learn just enough to get to the term “full-stack developer.” My main goal is to help you figure out how to go from being a good developer to a great developer. Understanding… not just knowing a few methods… of socketio is part of that! It even trancends the browser and node with implementations in most other languages, and even mobile. This means as you grow, you have the power of sockets without having to learn more than the socket io library.

I first used socket.IO in 2013 for a tiny company directory app. I’ve been following since and have been frustrated that it hasn’t gotten more mainstream notice because it opens the way for so many improvements to existing applications and obvious groundwork for new ones. Let’s change that 🙂 Prepare to for a detailed look at socketio and websockets and start going real-time.

Sections:

  1. Environment Setup (skip if you have node installed already)

  2. Before Socket.IO… – TCP, network sockets, & a native websockets app

  3. Socketi.IO 101 – Why you’d want to use socketio and how it works (simple chat app)

  4. Socket.IO 201 – Making the chat app into a slack clone with namespaces and rooms

  5. Project 1 – real-time canvas game

  6. Project 2 – Real-time performance data (uses React, Cluster, and Redis)

  7. streaming videos & socket.io-stream – in development

  8. Supplemental – HTTP (for those in need of a review)

Introduction

1
Course Overview
2
All my code (github link)

Before Socketio...

1
Pre-socketio
2
Housekeeping - How I do node/express
3
TCP/UDP and networking 101
4
Networking 201 - What is a socket and why should I care?
5
HTTP vs Websockets
6
A short overview of native websockets (finally some code!!)

Socket.io 101

1
Intro
2
The basics & socket.io vs. ws
3
Why socket.io? This is why.
4
Docs - The Server
5
The big 3 - .emit, .on, .connect
6
Docs - The Client
7
Finishing the chat app
8
Quick Checklist Review

Socket.io 201 - Let's make it Slack!

1
Namespaces
2
Namespace/Group Cheatsheet
3
Rooms
4
Going Slack (project) - Overview & Steps
5
Folder structure & DOM overview
6
Setting up our data and classes
7
Slack: Steps 1-3
8
Slack - Steps 4-6
9
Refactoring and Reorganizing our code
10
Slack - Joining a Room- Steps 7-9
11
Slack - Sending the history - Steps 7-9 continued
12
Slack - Linking up NS and Group, & Final Touches
13
Passing query data on connection
14
Line by line review of the project
15
Docs Checklist Update

Multiplayer Canvas Game - Agar.io clone

1
Project repo
2
Project Intro
3
Project Strategy
4
Socket.io App Organization
5
Getting the DOM setup
6
Time to draw!
7
Add Sockets (and orbs)
8
Wiring up the server for collisions
9
Connecting the client and server
10
Tick-Tock - 30FPS
11
Collision Testing (the Math part)
12
Collision Testing (The Socket Part)
13
Collision Testing (The Socket Part 2)
14
Updating the LeaderBoard
15
Disconnecting and broadcasting a message

Advanced Project - Adding React, cluster & redis - a performance monitor

1
Project Demo
2
Project Setup and dependencies
3
Installing Redis on Windows
4
Architecture
5
Getting performance data
6
Getting performance data - part 2
7
How the cluster module works
8
Using the cluster module - Master
9
Using the cluster module - workers
10
Connecting nodeClient to the socket server
11
Start the ticking clock
12
Mongo/Mongoose Schema and a small fix
13
Adding a record
14
Create React App Overview
15
Connecting React to the socket server for re-useable
16
Basic React Component Architecture
17
Setup React Components
18
Setting our widget state
19
CPU widget canvas
20
Mem and Info widgets
21
Adding isActive, disconnect, and final touches

Supplemental Videos

1
HTTP 101
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6
4.6 out of 5
375 Ratings

Detailed Rating

Stars 5
238
Stars 4
105
Stars 3
24
Stars 2
5
Stars 1
3
34384e8aa7304ee83c73bd4b54056f3b
30-Day Money-Back Guarantee

Includes

14 hours on-demand video
3 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion

Archive

Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed