Book Image

Elixir Cookbook

By : Paulo Pereira
Book Image

Elixir Cookbook

By: Paulo Pereira

Overview of this book

Table of Contents (16 chapters)
Elixir Cookbook
About the Author
About the Reviewers

Implementing a websocket handler

In this recipe, we will add a websocket handler to our Cowboy application. We will also change the index page to allow us to send messages. The index page will continue to be served by the static handler we defined previously. With websockets enabled, all clients connected to index.html will receive the messages sent by other clients without the need to refresh the page.

Getting ready

We will iterate over the code used in the previous recipe. A copy of the finished code can be found in the Code/Chapter 7/cowboy_websockets/cowboy_app directory.

To get started, we will load the code in our code editor.

The code is almost the same as the one used in the previous recipe with some changes to priv/index.html and some CSS, JavaScript, and fonts added.

How to do it…

To add websockets support to our Cowboy application, follow these steps:

  1. Define a handler for websockets in the lib/cowboy/ws_handler.ex file:

    defmodule Cowboy.WsHandler do
      @behaviour :cowboy_websocket_handler...