# Table of Contents
1. [Usage](#org6c95983)
2. [Design](#org6cb8437)
[](https://hackage.haskell.org/package/box) [](https://github.com/tonyday567/box/actions?query=workflow%3Ahaskell-ci)
Socket API based on the box library, with websockets and TCP support.
# Usage
:set -XOverloadedStrings
import Box
import Box.Socket.Types
import Box.Websocket
IO client:
clientBox defaultSocketConfig (CloseAfter 0) (stdBox "q")
IO server:
serverBox defaultSocketConfig (CloseAfter 0) (stdBox "q")
See examples in Box.Websocket.Example and Box.TCP.Example for a variety of usage.
# Design
- The API attempts to be similar for TCP and Websocket
- A Codensity, continuation passing style is encouraged, similar to the box library.