BSD-3-Clause licensed by Renzo Carbonara
Maintained by renλ
This version can be pinned in stack with:network-simple-0.4.5@sha256:22ff42a4e6b25a0dba498c558ff82e04e2cdcac7932082b620fea406fa32de8d,1320

Module documentation for 0.4.5


Build Status

Haskell library abstracting over simple network sockets usage patterns. Currently, only TCP sockets are supported. Support for UDP and Unix sockets is planned for future versions.

Check the source or rendered Haddocks for extensive documentation.

This code is licensed under the terms of the so called 3-clause BSD license. Read the file named LICENSE found in this same directory for details.

See the PEOPLE file to learn about the people involved in this effort.


Version 0.4.5

  • Compatibility with network-3.0.

  • Bumped minimum network version to 2.7.

  • Added dependency on network-bsd >= 2.7.

Version 0.4.4

  • Compatibility with socks-0.6.

Version 0.4.3

  • Added SOCKS5 proxy support using the socks library. See functions connectSOCKS5 and connectSockSOCKS5.

  • Increased connection timeout.

  • Client side sockets now have SO_KEEPALIVE and TCP_NODELAY on by default.

  • Server side sockets now have SO_KEEPALIVE on by default.

Version 0.4.2

  • Deprecate sendMany in favor of sendLazy.

  • Generalize return type of serve.

  • Silence all synchronous exceptions on socket shutdown and close.

  • Better exception handling everywhere.

  • Added dependency on safe-exceptions.

  • Added listenSock.

  • Improved documentation.

Version 0.4.1

  • Fix HostAny so that IPv6 addresses are correctly included as well. See #22.

  • Implement a very crude version of Happy Eyeballs (RFC 8305). See #15.

  • Remove upper bounds from all dependencies other than base.


  • Bump upper bound on transformers dependency.


  • Bump upper bound on exceptions dependency.


  • Bump upper bound on exceptions dependency.


  • Workaround sendLazy build issues in Windows 8 (see #13).

  • Bump upper bound on network dependency.


  • Add sendLazy and sendMany to Network.Simple.TCP.

Version 0.4

  • Bump lower and upper bounds exceptions dependency. Replacing some uses of MonadCatch with `MonadMask.

  • Bump upper bound on network dependency.

  • Bump upper bound on transformers dependency.

Version 0.3.1

  • Bumped upper-bounds on exceptions dependency.

Version 0.3.0

  • Re-export Network.Socket.close at Network.Simple.TCP, except called closeSock.

  • Re-export Socket, SockAddr, HostName and ServiceName from Network.Socket at Network.Simple.TCP.

  • Generalize the IO monad by using MonadIO and MonadCatch (from the exceptions library).


  • Export send and recv from Network.Simple.TCP.

  • Re-export Network.Socket.withSocketsDo from Network.Simple.TCP.


  • FIX: acceptFork now properly closes the connection socket, even in case of asynchronous exceptions.


  • Network.Simple.TCP.serveFork was renamed to serve, and the previous function named serve was removed.


  • Fixed typos, including the maintainer email.


  • First release.