Copyright | (c) 2019 Composewell Technologies |
---|---|
License | BSD3 |
Maintainer | streamly@composewell.com |
Stability | released |
Portability | GHC |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Combinators to build Inet/TCP clients and servers.
>>>
import qualified Streamly.Network.Inet.TCP as TCP
Synopsis
- acceptorOnAddr :: MonadIO m => Unfold m ((Word8, Word8, Word8, Word8), PortNumber) Socket
- acceptorOnPort :: MonadIO m => Unfold m PortNumber Socket
- acceptorOnPortLocal :: MonadIO m => Unfold m PortNumber Socket
- connect :: (Word8, Word8, Word8, Word8) -> PortNumber -> IO Socket
- acceptOnAddr :: MonadIO m => Unfold m ((Word8, Word8, Word8, Word8), PortNumber) Socket
- acceptOnPort :: MonadIO m => Unfold m PortNumber Socket
- acceptOnPortLocal :: MonadIO m => Unfold m PortNumber Socket
Accept Connections
Unfolds
acceptorOnAddr :: MonadIO m => Unfold m ((Word8, Word8, Word8, Word8), PortNumber) Socket Source #
Unfold a tuple (ipAddr, port)
into a stream of connected TCP sockets.
ipAddr
is the local IP address and port
is the local port on which
connections are accepted.
acceptorOnPort :: MonadIO m => Unfold m PortNumber Socket Source #
Like acceptorOnAddr
but binds on the IPv4 address 0.0.0.0
i.e. on all
IPv4 addresses/interfaces of the machine and listens for TCP connections on
the specified port.
acceptorOnPort = UF.first acceptorOnAddr (0,0,0,0)
acceptorOnPortLocal :: MonadIO m => Unfold m PortNumber Socket Source #
Like acceptorOnAddr
but binds on the localhost IPv4 address 127.0.0.1
.
The server can only be accessed from the local host, it cannot be accessed
from other hosts on the network.
acceptorOnPortLocal = UF.first acceptorOnAddr (127,0,0,1)
Connect to Servers
connect :: (Word8, Word8, Word8, Word8) -> PortNumber -> IO Socket Source #
Connect to the specified IP address and port number. Returns a connected socket or throws an exception.
Deprecated
acceptOnAddr :: MonadIO m => Unfold m ((Word8, Word8, Word8, Word8), PortNumber) Socket Source #
Deprecated: Please use acceptorOnAddr
instead
acceptOnPort :: MonadIO m => Unfold m PortNumber Socket Source #
Deprecated: Please use acceptorOnPort
instead
acceptOnPortLocal :: MonadIO m => Unfold m PortNumber Socket Source #
Deprecated: Please use acceptorOnPortLocal
instead