A simple WebSocket chat server written in Haskell. Used in the JavaScript course from Devalot: https://code.devalot.com/training/webdev
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.


A Simple WebSocket Chat Server

This package includes a single executable: wschat. It’s an extremely simple chat server using WebSockets.

The primary goal of this package is to provide a WebSocket server for students who are learning JavaScript so they have a real server to experiment with.

Connecting from JavaScript

Before connecting you will need two pieces of information: the server’s host name and an access code. For this example we’ll assume the following information:

Needed Information Example Value
hostname example.com
access code abc123

Now we can construct a URL and open a connection:

const socket = new WebSocket("wss://example.com/abc123");

NOTE: if your server doesn’t support SSL/TLS you will have to replace wss:// with ws://.

All chat messages that are sent and received are JSON encoded objects that look like this:

  "sender": "name of message sender",
  "content": "the content of the message"

Here’s an example of sending a message to the server:

const message = {
  sender: "Alice",
  content: "Hello!"


A complete example using web components can be found in the examples directory.