Portability | non-portable (not tested) |
---|---|
Stability | experimental |
Maintainer | bjorn@bringert.net |
An easy access TCP library. Makes the use of TCP in Haskell much easier. This was originally part of Gray's\/Bringert's HTTP module.
- Changes by Robin Bate Boerop robin@bateboerop.name: - Made dependencies explicit in import statements. - Removed false dependencies from import statements. - Removed unused exported functions.
- Changes by Simon Foster: - Split module up into to sepearate Network.[Stream,TCP,HTTP] modules
- data Connection
- openTCPPort :: String -> Int -> IO Connection
- isConnectedTo :: Connection -> String -> IO Bool
Documentation
data Connection Source
The Connection
newtype is a wrapper that allows us to make
connections an instance of the StreamIn/Out classes, without ghc extensions.
While this looks sort of like a generic reference to the transport
layer it is actually TCP specific, which can be seen in the
implementation of the 'Stream Connection' instance.
openTCPPort :: String -> Int -> IO ConnectionSource
This function establishes a connection to a remote host, it uses getHostByName which interrogates the DNS system, hence may trigger a network connection.
Add a persistant option? Current persistant is default. Use Result type for synchronous exception reporting?
isConnectedTo :: Connection -> String -> IO BoolSource
Checks both that the underlying Socket is connected and that the connection peer matches the given host name (which is recorded locally).