HOME > Development > Working with WebSockets in Go (Golang)

Working with WebSockets in Go (Golang)

  • Development
  • May 04, 2025
SynopsisWorking with WebSockets in Go (Golang , available at $89.99,...
Working with WebSockets in Go (Golang)  No.1

Working with WebSockets in Go (Golang), available at $89.99, has an average rating of 4.68, with 86 lectures, 3 quizzes, based on 371 reviews, and has 7622 subscribers.

You will learn about How to work with Websockets in Go (Golang) How to build a real-time, responsive application using websockets How to connect to third party services like Pusher, and how to use our own self-hosted Pusher-compatible service How to build a real-time server monitoring web application How to schedule periodic events in Go How to write tests for websocket handlers The basics of building a secure web application in Go How to send SMS messages with Go using Twilio This course is ideal for individuals who are Developers who want to make their web applications faster and more responsive. or Developers who are familiar with Go, and want to learn how to build highly responsive web applications It is particularly useful for Developers who want to make their web applications faster and more responsive. or Developers who are familiar with Go, and want to learn how to build highly responsive web applications.

Enroll now: Working with WebSockets in Go (Golang)

Summary

Title: Working with WebSockets in Go (Golang)

Price: $89.99

Average Rating: 4.68

Number of Lectures: 86

Number of Quizzes: 3

Number of Published Lectures: 86

Number of Published Quizzes: 3

Number of Curriculum Items: 89

Number of Published Curriculum Objects: 89

Original Price: $69.99

Quality Status: approved

Status: Live

What You Will Learn

  • How to work with Websockets in Go (Golang)
  • How to build a real-time, responsive application using websockets
  • How to connect to third party services like Pusher, and how to use our own self-hosted Pusher-compatible service
  • How to build a real-time server monitoring web application
  • How to schedule periodic events in Go
  • How to write tests for websocket handlers
  • The basics of building a secure web application in Go
  • How to send SMS messages with Go using Twilio
  • Who Should Attend

  • Developers who want to make their web applications faster and more responsive.
  • Developers who are familiar with Go, and want to learn how to build highly responsive web applications
  • Target Audiences

  • Developers who want to make their web applications faster and more responsive.
  • Developers who are familiar with Go, and want to learn how to build highly responsive web applications
  • WebSockets are a technology that allows developers to build highly interactive, extremely fast web applications. Since WebSockets are supported by all modern browsers, and have been for years now, there is no reason why they cannot be implemented on any modern web application. This course will show you how to work with WebSockets with Go.

    We will work with two kinds of WebSocket technologies: first, with simple calls directly from our web application to all connected browsers, where all functionality is handled by our application. The web application we’ll build is a simple chat application, which will allow users to chat back and forth, and will show the list of connected users, updated in real time.

    Next, we’ll take advantage of a Pusher compatible server (or Pusher itself, if you prefer) and use that server as a message broker between our web application and all connected clients.

    I am a firm believer that learning how to use a particular technology works best when applying it to a real-world situation. All too often, tutorials and courses over simplify what they are trying to teach, and create an artificial environment where things are so simple that what is being taught looks easy enough, but you immediately run into problems when trying to implement it on a more complex project. So, to implement and learn about WebSockets and Pusher, we’ll build a web application which monitors remote servers and hosts, and notifies us in real-time when a service goes down or comes back up again. We will send notifications in real time using WebSockets (which will update the appropriate content on the pages being viewed by all connected clients), by email, and, as a bonus, we’ll also learn how to send notifications using text messages (SMS) with  Twilio.

    Course Curriculum

    Chapter 1: Introduction & Setup

    Lecture 1: Introduction

    Lecture 2: About me

    Lecture 3: Installing Go

    Lecture 4: Installing an IDE

    Chapter 2: Our First Project: Chat

    Lecture 1: What are we going to build?

    Lecture 2: Setting up a simple application

    Lecture 3: Creating a handler to upgrade a connection to websockets

    Lecture 4: Connecting to the websocket endpoint

    Lecture 5: Adding additional socket event handlers

    Lecture 6: Improving our WS endpoint, and setting up go outines

    Lecture 7: Listing all users

    Lecture 8: Fixing a problem with disappearing users

    Lecture 9: One minor fix

    Lecture 10: Sending messages

    Lecture 11: Cleaning things up

    Lecture 12: What if the server goes away? Reconnecting painlessly

    Lecture 13: Adding server status indicator

    Chapter 3: Project II: Vigilate, a server monitoring system

    Lecture 1: What are we going to build?

    Lecture 2: Install Postgres and a Postgres Client

    Lecture 3: Installing the starter projects source code

    Lecture 4: Fixing a typo in the config.yml

    Lecture 5: Connecting to Pusher

    Lecture 6: Pushing an event to the client

    Chapter 4: Setting up our Application

    Lecture 1: Setting up some database tables

    Lecture 2: Setting up models

    Lecture 3: Creating forms for our hosts

    Lecture 4: Adding form validation, and setting up a handler for posting data

    Lecture 5: Passing data to our host form

    Lecture 6: Inserting a host into the database

    Lecture 7: Getting and and updating a host

    Lecture 8: Modifying the post handler for hosts to update

    Lecture 9: Getting all hosts and displaying on page

    Lecture 10: Adding services to a host 1

    Lecture 11: Adding services to a host 2

    Lecture 12: Adding services to a host 3

    Lecture 13: Adding services to a host 4

    Lecture 14: Database functions to add/remove a service from host

    Lecture 15: Listing host services in a more intelligent way

    Lecture 16: Listing all services on overview page

    Lecture 17: Showing service status counts on overview page

    Lecture 18: List all services by status

    Lecture 19: Updates for Go 1.16

    Lecture 20: Adding service status to the host page

    Lecture 21: Making things a bit more visually appealing

    Lecture 22: Manually Testing a host service 1

    Lecture 23: Manually Testing a host service 2

    Lecture 24: Manually testing a host service 3

    Lecture 25: Manually testing a host service 4

    Lecture 26: Manually testing a host service 5

    Chapter 5: Monitoring Services

    Lecture 1: Setting up a schedule to monitor services

    Lecture 2: An Aside: Updating the chi router

    Lecture 3: Monitoring part 2

    Lecture 4: Monitoring part 3

    Lecture 5: Monitoring part 4

    Lecture 6: Monitoring part 5

    Lecture 7: Monitoring part 6

    Lecture 8: Monitoring part 7

    Lecture 9: Monitoring part 8

    Chapter 6: Implementing Websockets on Vigilate

    Lecture 1: Pushing monitoring start/stop events to client

    Lecture 2: Setting up a local server to monitor

    Lecture 3: Running service checks

    Lecture 4: Pushing events on host service status change

    Lecture 5: Updating service status count in real time

    Lecture 6: Cleaning up our code

    Lecture 7: Updating tables on the host page when status changes

    Lecture 8: Exercise: Update Overview sub-pages

    Lecture 9: Solution to exercise

    Lecture 10: Displaying the monitoring schedule

    Lecture 11: Updating the schedule page in real time

    Lecture 12: Turning services on and off in real-time

    Lecture 13: Pushing events after a manual check

    Lecture 14: Saving and displaying events

    Lecture 15: Cleaning things up

    Lecture 16: Sending an event to a private channel

    Lecture 17: Installing Mailhog on a Mac

    Lecture 18: Installing Mailhog on Windows

    Lecture 19: Sending notifications via email

    Lecture 20: Sending notifications via text (SMS)

    Lecture 21: Setting up a Twilio Account

    Lecture 22: Writing the code to send SMS messages

    Chapter 7: Monitoring Additional Services

    Lecture 1: Setting up two new services

    Lecture 2: Monitoring HTTPS services

    Lecture 3: Monitoring SSL certificates

    Chapter 8: Writing Tests

    Lecture 1: Handler Tests

    Lecture 2: Websocket Tests (the wrong way)

    Lecture 3: Websocket Tests (the right way)

    Instructors

  • Working with WebSockets in Go (Golang)  No.2
    Trevor Sawler
    Ph.D.
  • Rating Distribution

  • 1 stars: 8 votes
  • 2 stars: 8 votes
  • 3 stars: 24 votes
  • 4 stars: 97 votes
  • 5 stars: 234 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    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!