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:
Define a handler for websockets in the
lib/cowboy/ws_handler.ex
file:defmodule Cowboy.WsHandler do @behaviour :cowboy_websocket_handler...