A simple WebSocket chat server written in Haskell. Used in the JavaScript course from Devalot: https://code.devalot.com/training/webdev
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Peter J. Jones ac28f0a8a4
Reduce boilerplate, update dependencies, release 0.1.0.1
vor 2 Monaten
examples Add example JavaScript app and code snippets to the README vor 8 Monaten
src Reduce boilerplate, update dependencies, release 0.1.0.1 vor 2 Monaten
.gitignore Initial import vor 8 Monaten
CHANGES.md Initial import vor 8 Monaten
LICENSE Reduce boilerplate, update dependencies, release 0.1.0.1 vor 2 Monaten
README.md Fix table formatting in the README vor 8 Monaten
Setup.hs Initial import vor 8 Monaten
default.nix Initial import vor 8 Monaten
wschat.cabal Reduce boilerplate, update dependencies, release 0.1.0.1 vor 2 Monaten
wschat.nix Reduce boilerplate, update dependencies, release 0.1.0.1 vor 2 Monaten

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.