Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Haskell library for creating WebSocket-capable servers

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
benchmarks
example
src/Network
tests
web
.ghci
.gitignore
.travis.yml
LICENCE
README
Setup.hs
coverage.sh
websockets.cabal

README

websockets
==========

Introduction
------------

Provides a sensible, clean and simple way to write WebSocket-capable servers in
Haskell.

The following program echoes messages back after appending `meow`:

    meow :: TextProtocol p => WebSockets p ()
    meow = forever $ do
        msg <- receiveData
        sendTextData $ msg `T.append` ", meow."

Installation is provided using cabal:

    cabal install websockets

Compatibility
-------------

The `Hybi00`, `Hybi10` and `Rfc6455` protocols are all supported by the library.

Protocol  Firefox  Chrome  Opera  Safari
--------- -------- ------- ------ ---------
`Hybi00`  >= 4     >= 6    >= 11  >= 5.0.1
`Hybi10`  >= 7     >= 14
`Rfc6455`          >- 16

Authors
-------

An initial WebSockets library was written in 2010 by Siniša Biđin. In 2011, it
was rewritten from scratch, and extended to it's current state by Jasper Van der
Jeugt, who is also the current maintainer.

Contributors:

- Alex Lang
- Fedor Gogolev
- Nathan Howell
- Steffen Schuldenzucker
- Yi Huang

Development
-----------

Pull requests are always welcome!

This library is production-quality. Therefore we have very high standards in
terms of code style, API quality and testing.

We have two kinds of tests: Haskell-based tests (`tests/haskell`), which use the
`test-framework` library. Additionally, there are integration tests available
in `tests/javascript`, which require a browser to run.
Something went wrong with that request. Please try again.