- sourceSocket :: ResourceIO m => Socket -> Source m ByteString
- sinkSocket :: ResourceIO m => Socket -> Sink ByteString m ()
- type Application = Source IO ByteString -> Sink ByteString IO () -> ResourceT IO ()
- data ServerSettings = ServerSettings {
- serverPort :: Int
- serverHost :: Maybe String
- runTCPServer :: ServerSettings -> Application -> IO ()
- data ClientSettings = ClientSettings {
- clientPort :: Int
- clientHost :: String
- runTCPClient :: ClientSettings -> Application -> IO ()
- bindPort :: Maybe String -> Int -> IO Socket
- getSocket :: String -> Int -> IO Socket
Basic utilities
sourceSocket :: ResourceIO m => Socket -> Source m ByteStringSource
Stream data from the socket.
This function does not automatically close the socket.
Since 0.0.0
sinkSocket :: ResourceIO m => Socket -> Sink ByteString m ()Source
Stream data to the socket.
This function does not automatically close the socket.
Since 0.0.0
Simple TCP server/client interface.
type Application = Source IO ByteString -> Sink ByteString IO () -> ResourceT IO ()Source
A simple TCP application. It takes two arguments: the Source
to read
input data from, and the Sink
to send output data to.
Since 0.2.1
Server
data ServerSettings Source
Settings for a TCP server. It takes a port to listen on, and an optional hostname to bind to.
Since 0.2.1
ServerSettings | |
|
runTCPServer :: ServerSettings -> Application -> IO ()Source
Run an Application
with the given settings. This function will create a
new listening socket, accept connections on it, and spawn a new thread for
each connection.
Since 0.2.1
Client
data ClientSettings Source
Settings for a TCP client, specifying how to connect to the server.
runTCPClient :: ClientSettings -> Application -> IO ()Source
Run an Application
by connecting to the specified server.
Since 0.2.1