Socket.IO (with websockets) - the details. (socket io v2)
4.7 (701 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,880 students enrolled

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
Bestseller
4.7 (701 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
5,875 students enrolled
Created by Robert Bunch
Last updated 12/2019
English
English [Auto-generated]
Current price: $41.99 Original price: $59.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 14 hours on-demand video
  • 3 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll 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
Course content
Expand all 68 lectures 13:47:24
+ Socket.io 101
8 lectures 01:35:22
Intro
01:03
Why socket.io? This is why.
16:01
Docs - The Server
20:02
The big 3 - .emit, .on, .connect
09:33
Docs - The Client
09:24
Finishing the chat app
16:58
Quick Checklist Review
06:18
+ Socket.io 201 - Let's make it Slack!
15 lectures 03:34:50
Namespaces
23:28
Namespace/Group Cheatsheet
00:18
Rooms
21:34
Going Slack (project) - Overview & Steps
15:52
Folder structure & DOM overview
08:18
Setting up our data and classes
10:56
Slack: Steps 1-3
19:47
Slack - Steps 4-6
12:48
Refactoring and Reorganizing our code
06:02
Slack - Joining a Room- Steps 7-9
23:27
Slack - Sending the history - Steps 7-9 continued
18:29
Slack - Linking up NS and Group, & Final Touches
19:24
Passing query data on connection
06:33
Line by line review of the project
21:22
Docs Checklist Update
06:32
+ Multiplayer Canvas Game - Agar.io clone
15 lectures 03:34:28
Project repo
00:02
Project Intro
12:47
Project Strategy
10:30
Socket.io App Organization
17:11
Getting the DOM setup
15:45
Time to draw!
30:19
Add Sockets (and orbs)
14:35
Wiring up the server for collisions
21:31
Connecting the client and server
07:56
Tick-Tock - 30FPS
22:06
Collision Testing (the Math part)
10:59
Collision Testing (The Socket Part)
13:54
Collision Testing (The Socket Part 2)
10:55
Updating the LeaderBoard
10:17
Disconnecting and broadcasting a message
15:41
+ Advanced Project - Adding React, cluster & redis - a performance monitor
21 lectures 03:32:09
Project Demo
04:05
Project Setup and dependencies
05:21
Installing Redis on Windows
03:46
Architecture
18:10
Getting performance data
10:25
Getting performance data - part 2
15:30
How the cluster module works
12:45
Using the cluster module - Master
08:15
Using the cluster module - workers
10:12
Connecting nodeClient to the socket server
06:10
Start the ticking clock
12:12
Mongo/Mongoose Schema and a small fix
15:48
Adding a record
07:47
Create React App Overview
03:37
Connecting React to the socket server for re-useable
07:37
Basic React Component Architecture
04:49
Setup React Components
05:48
Setting our widget state
16:30
CPU widget canvas
08:30
Mem and Info widgets
11:46
Adding isActive, disconnect, and final touches
23:06
Requirements
  • You have a solid working knowledge of JavaScript and nodejs (Not a ninja, but you are not new).
  • You have used the node ecosystem (npm, Express, etc.). This is NOT an intro to node class and I will NOT cover these in detail.
  • You have basic command line knowledge (at least capable of navigating and running a program)
  • You have a computer capable of running Nodejs.
Description

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)


Who this course is for:
  • JS/Node developers who want to actually learn how to use Socketio for more than a chat app tutorial
  • JS developers interested in how node & JS combine to make the networking happen
  • Developers interested in building real time applications