Advanced

Real-time Laravel with Socket.io

When we want to broadcast events on our server to the client, how exactly do we do that? Well, there's a number of ways to tackle it, including using a dedicated service like Pusher. However, in this mini-series, we'll wire everything up on our own, while leveraging Node, Redis, and Socket.io. Sound fun?

Start Series For Free

Share this series on:

  • 01

    Episode 1 Run Time 14:07

    Hello Socket.io Free

    Before we touch Laravel, let's get our feet wet in this Socket.io world. We'll build a basic chat application, while learning how to emit and listen for events.

    View the source for this lesson on GitHub.

  • 02

    Episode 2 Run Time 8:04

    Laravel and Redis

    Redis is an excellent in-memory data store. Did you know that Laravel offers support for it right out of the box? Let's figure out how to activate it so that we may publish events, and catch them from our Node server.
  • 03

    Episode 3 Run Time 12:26

    Node, Redis, and Socket.io

    We're making great progress. Now that we have Redis working on the Laravel end, let's setup a Redis client on the Node side of things, so that we can "catch" events. This will give us the proper hook to then leverage Socket.io to alert the client of the update.

    View the source for this episode on GitHub.

  • 04

    Episode 4 Run Time 6:17

    Broadcasting With Redis

    So far, we've simply used Laravel's Redis facade to publish message (which we then catch from our Node Redis client). This time, let's create a typical event class. As you'll find, as of Laravel 5.1, we only have to implement an interface to trigger broadcasting to the client!