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.
Peter J. Jones ac28f0a8a4
Reduce boilerplate, update dependencies, release 0.1.0.1
4 maanden geleden
examples Add example JavaScript app and code snippets to the README 10 maanden geleden
src Reduce boilerplate, update dependencies, release 0.1.0.1 4 maanden geleden
.gitignore Initial import 10 maanden geleden
CHANGES.md Initial import 10 maanden geleden
LICENSE Reduce boilerplate, update dependencies, release 0.1.0.1 4 maanden geleden
README.md Fix table formatting in the README 10 maanden geleden
Setup.hs Initial import 10 maanden geleden
default.nix Initial import 10 maanden geleden
wschat.cabal Reduce boilerplate, update dependencies, release 0.1.0.1 4 maanden geleden
wschat.nix Reduce boilerplate, update dependencies, release 0.1.0.1 4 maanden geleden

README.md

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!"
};

socket.send(JSON.stringify(message));

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