This package provides a low-level networking interface. Other packages provide higher level interfaces: connection hookup network-simple network seeks to provide a cross-platform core for networking. As such some APIs live in extended libraries. Packages in the network ecosystem are often prefixed with network-. In network-3.0.0.0 the Network.BSD module was split off into its own package, network-bsd-3.0.0.0. In network-2.6 the Network.URI module was split off into its own package, network-uri-2.6. If you're using the Network.URI module you can automatically get it from the right package by adding this to your .cabal file:


Keywords
library, network, Propose Tags, Skip to Readme, , Index, Quick Jump, Network.Socket, Network.Socket.Address, Network.Socket.ByteString, Network.Socket.ByteString.Lazy, Network.Socket.Internal, More info, network-3.2.0.0.tar.gz, browse, Package description, Package maintainers, BryanOSullivan, DuncanCoutts, JohanTibell, KazuYamamoto, dukerutledge, edit package information , 3 major versions of GHC, haskell, socket
License
BSD-3-Clause
Install
cabal install network-2.6.3.2

Documentation

GitHub Actions status

To build this package directly from git, you must run autoreconf -i. And then use cabal configure; cabal build or stack build.

Support Policy

GHC

The network package support 3 major versions of GHC only. This means that the current stable version and two previous stable versions are supported.

Windows

We use MSYS to build this package on Windows. To use the network package on Cygwin, use stack.

Coding

.hs files

If you need C macros created by "configure" or CALLCONV/SAFE_ON_WIN, put

#include "HsNetDef.h"

"HsNet.h" does now work well since Mac's cpp sucks.

.hsc files

If you need #peek, #poke and others, create a .hsc file with

#include "HsNet.h"

HsNet.h includes HsNefDef.h and necessary C structures. Unfortunately, hsc2hs does not convert C macros. So, if you use CALLCONV/SAFE_ON_WIN, the following is also necessary:

##include "HsNetDef.h"