Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Elixir Cookbook
  • Toc
  • feedback
Elixir Cookbook

Elixir Cookbook

By : Paulo Pereira
4.5 (2)
close
Elixir Cookbook

Elixir Cookbook

4.5 (2)
By: Paulo Pereira

Overview of this book

This book is intended for users with some knowledge of the Elixir language syntax and basic data types/structures. Although this is a cookbook and no sequential reading is required, the book’s structure will allow less advanced users who follow it to be gradually exposed to some of Elixir’s features and concepts specific to functional programming. To get the most out of this book, you need to be well versed with Erlang.
Table of Contents (11 chapters)
close
10
Index

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...
bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete