A sensible and clean way to write WebSocket-capable servers in Haskell. http://jaspervdj.be/websockets

Version on this page:
LTS Haskell 8.12:
Stackage Nightly 2017-04-27:
Latest on Hackage:
Maintained by Jasper Van der Jeugt

Module documentation for

There are no documented modules for this package.

This library allows you to write WebSocket-capable servers.

An example server: https://github.com/jaspervdj/websockets/blob/master/example/server.lhs

An example client: https://github.com/jaspervdj/websockets/blob/master/example/client.hs

See also:


* Fix compilation issue with GHC-7.8

* Faster masking (by Dmitry Ivanov)
* Support for IPv6 in the built-in server, client and tests (by agentm)
* Support for `permessage-deflate` extension (by Marcin Tolysz)
* Strict unicode checking and proper extension mechanism

* Fix client specifying empty path
* Allow sending collections of messages (by David Turner)
* Allow sending extra headers when accepting request (by James Deery)

* Bump `HUnit` dependency to 1.5

* Restore state of the package to version ``

* This release contained a feature which broke backwards-compatibility.
Hence, it was marked as broken a new release containing the changes will
be uploaded as ``.

* Fix issue trying to kill builtin server
* Bump `QuickCheck` dependency to 2.9

* Bump `binary` dependency for GHC 8.0 compatibility

* Fix issue with fragmentation test

* Optionally include example server in the cabal file
* Send correct port from client
* Set `TCP_NO_DELAY` in builtin server
* Bump `HUnit` dependency
* Drop dependency on `mtl`
* Fix `QuickCheck` dependency lower bound

* Bugfixes wrt closing sockets and streams

* Add `makePendingConnectionFromStream` function
* Bump `attoparsec` dependency

* Bump `QuickCheck` dependency

* Use a shared closed state for connection input/output stream
* Make sure `runServer` doesn't leak any sockets
* Bump `blaze-builder` dependency

* Bump `random` dependency

* Fix exception handling issues

* Make sending and receiving messages thread-safe by default
* Export `forkPingThread`
* Fix Windows `withSocketsDo` issue

* Don't use Network.ByteString.Lazy.sendAll on Windows

* Allow compilation with older bytestring versions
* Bump text dependency

* Bump various dependencies
* Remove io-streams dependency
* New close mechanism
* More flexible API interface

* Bump QuickCheck dependency

* Bump attoparsec dependency

* Bump entropy dependency

* Bump mtl dependency

* Bump network dependency

* Add benchmark with many open connections
* Update example to use gender-neutral language

* Fix possible leaking of client sockets when connection times out
comments powered byDisqus