SocketIO v4, with websockets - the 2023 details.

Socket io. Learn how to harness real-time communication on the web. W/Cluster Module, React and a real time game!

4.71 (1936 reviews)
Udemy
platform
English
language
Web Development
category
instructor
16,176
students
24.5 hours
content
Aug 2023
last update
$94.99
regular price

What you will learn

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

Description

May 2023: Version 4 update is complete. I have left the v2 sections up for a sunset period. This means, at the moment, roughly half the course is the same content in different versions. Please take note of the section title if you are just starting out to make sure you are taking the version you want.

Websockets are one of the coolest api's to ever hit the web. 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 socketio. 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. Is that all socketio can do? 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 transcends the browser and node with implementations in most other languages, and even mobile/React Native. This means as you grow, you have the power of sockets without having to learn more than the socket io library.

I first used socketIO 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. Introduction - course overview, github link, and the state of socketio and websockets

  2. Before SocketIO... - TCP, network sockets, & a native websockets app

  3. Socket.IO-101 - Why you'd want to use socketio (instead of just websockets), 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 - real-time canvas game (agar.io-clone)

  6. Project - Real-time performance data (uses React, Cluster, and the Cluster Module. Rotated Redis out until the new module is stable)

  7. Supplemental - HTTP (for those in need of a review)

  8. LEGACY - version 2 - Socket.IO-101

  9. LEGACY - version 2 - Socket.IO-201

  10. LEGACY - multi-player canvas game

  11. LEGACY - Advanced Project

I hope to add sections for a streaming videos/socket.io-stream app, as well as a React Native app.


Content

Introduction

Course Overview
All my code (github link)

Before Socketio...

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

Socket.io 101

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

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

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

Multiplayer Canvas Game - Agar.io clone

Project repo
Project Intro
Project Strategy
Socket.io App Organization
Getting the DOM setup
Time to draw!
Add Sockets (and orbs)
Wiring up the server for collisions
Connecting the client and server
Tick-Tock - 30FPS
Collision Testing (the Math part)
Collision Testing (The Socket Part)
Collision Testing (The Socket Part 2)
Updating the LeaderBoard
Disconnecting and broadcasting a message

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

Project Demo
Project Setup and dependencies
Installing Redis on Windows
Architecture
Getting performance data
Getting performance data - part 2
How the cluster module works
Using the cluster module - Master
Using the cluster module - workers
Connecting nodeClient to the socket server
Start the ticking clock
Mongo/Mongoose Schema and a small fix
Adding a record
Create React App Overview
Connecting React to the socket server for re-useable
Basic React Component Architecture
Setup React Components
Setting our widget state
CPU widget canvas
Mem and Info widgets
Adding isActive, disconnect, and final touches

Supplemental Videos

HTTP 101

Screenshots

SocketIO v4, with websockets - the 2023 details. - Screenshot_01SocketIO v4, with websockets - the 2023 details. - Screenshot_02SocketIO v4, with websockets - the 2023 details. - Screenshot_03SocketIO v4, with websockets - the 2023 details. - Screenshot_04

Reviews

Jolan
October 18, 2023
He is precise and bold in discussing about the video, the insights that I am looking for was incredibly useful.
Gilles
September 18, 2023
Too verbose, too much canvas, way, waaaay too few socket things which is kinda dumb for a socket course. This is pretty much a read-the-doc-along and code-along course. I guess it's fine for total beginners, but if you really want a dive into sockets... go somewhere else.
Teodor
July 4, 2023
Pretty well explained, but i would like the addition of maybe some files, a guidebook maybe? would help with keeping quick notes or cheatsheets
Mrigesh
June 15, 2023
Great and intuitive course and the instructor just makes you fall in love with the concepts. I got deep into research about networking because of this course ?
Josep
May 16, 2023
This Socket.io course on Udemy is simply outstanding. Robert, the instructor, has updated the course to the latest version of Socket.io, demonstrating his commitment to providing up-to-date content. His explanations are clear, and he offers numerous tips and important details that greatly enhance the learning experience. Whether you're a beginner or have some prior knowledge, Robert's teaching style and in-depth knowledge make this course a must-take. Highly recommended!
Alfred
May 3, 2023
Starting w/V4, and in Section 2 he says we "finally" get to Socket.io, that we've done a chat client with WebSockets. Except we haven't; at least, not in V4... So I'm confused. Should I go back to V2 and cover WebSockets?
김명성
April 11, 2023
he care close attention to the smallest detail but unfortunately, i can't hear english well, i listen two ~ three times video it's too bad on me nonetheless he is the best instructor
Olaf
March 3, 2023
Great competent teacher that can explain topics well and are easy to understand, and respond to questions and keep course up to date.
Tomio
January 17, 2023
This is a good course for learning the basics of socketIO, I hope he does a larger project with a full-fledged framework.
David
December 27, 2022
it is very bad course. he is just reading all about from socket io docs. lt is like an indian youtube video.
Nydia
October 9, 2022
The course is being a while. So when following and doing it step by step, need to make sure the dependency is the same version with the teacher. Or, it will get unexpected error.
Ashish
August 10, 2022
Very helpful course for beginners. I am complete newby to Web Development and wanted to learn the Socket.io library, however, I did have a question about the comparison between WS and Socket.io. The pleasant surprise was Robert started this course with WS as base and gradually moved to Socket.io explaining the need for Socket.io. I was not expecting that or the basics of TCP and Sockets. Robert is truly an exceptional teacher who teaches from ground up and doesn't like to take short cuts in teaching. I am very pleased and thankful to Robert for making this course. However, just one humble request, please do update this course to the latest version and latest functionalities, because I am sure a lot has changed since this course was made. Robert's teaching style and pace is perfect and detail oriented, just what any student needs to efficiently learn anything. Eagerly looking forward to updated content on this course. God bless you and best of luck!
Ramsés
August 5, 2022
So many theory at the beginning, but... VERY interesting theory i never imagined how the web works, through HTTP request and the five layers of connections and the proyects are very funny
xavier
June 22, 2022
Rob is a very enthusiastic and thorough instructor. He provides all the tools needed in this course to come out on top with a clear understanding of all the basic and intermediate concepts. This is my second course of his and if his content interests me I will be back for another. Rob thank you for be so patient to reiterate over new concepts, and provide just enough resources for a student to feel confident that they can take it from there. I appreciate you don't "hold our hand" but rather guide our feet. Thank you much sir, and I wish you well.
Vikash
June 18, 2022
This course is quite outdated and truly an update, if you follow across the video you will find yourself stuck because socket.io module has several changes in v4 latest version and this course has not been updated and still following v2.

Charts

Price

SocketIO v4, with websockets - the 2023 details. - Price chart

Rating

SocketIO v4, with websockets - the 2023 details. - Ratings chart

Enrollment distribution

SocketIO v4, with websockets - the 2023 details. - Distribution chart
1934362
udemy ID
9/26/2018
course created date
5/10/2019
course indexed date
Bot
course submited by