A simple WebSocket chat server written in Haskell. Used in the JavaScript course from Devalot: https://code.devalot.com/training/webdev
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
Peter J. Jones ac28f0a8a4
Reduce boilerplate, update dependencies, release 0.1.0.1
před 2 měsíci
examples Add example JavaScript app and code snippets to the README před 8 měsíci
src Reduce boilerplate, update dependencies, release 0.1.0.1 před 2 měsíci
.gitignore Initial import před 8 měsíci
CHANGES.md Initial import před 8 měsíci
LICENSE Reduce boilerplate, update dependencies, release 0.1.0.1 před 2 měsíci
README.md Fix table formatting in the README před 8 měsíci
Setup.hs Initial import před 8 měsíci
default.nix Initial import před 8 měsíci
wschat.cabal Reduce boilerplate, update dependencies, release 0.1.0.1 před 2 měsíci
wschat.nix Reduce boilerplate, update dependencies, release 0.1.0.1 před 2 měsíci

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.