socket-unix: Unix domain sockets

[ library, mit, network, system ] [ Propose Tags ]

A Unix domain socket extension for the socket library


[Skip to Readme]
Versions 0.1.0.0, 0.1.1.0, 0.2.0.0
Dependencies base (>=4.7 && <5), bytestring (>=0.10.0.0 && <0.11), socket (>=0.6.0.0 && <0.8.0.0) [details]
License MIT
Copyright 2017 Vyacheslav Hashov
Author Vyacheslav Hashov
Maintainer vyacheslavhashov@gmail.com
Revised Revision 1 made by VyacheslavHashov at Fri Jan 6 05:20:56 UTC 2017
Category System, Network
Home page https://github.com/vyacheslavhashov/haskell-socket-unix#readme
Source repo head: git clone https://github.com/vyacheslavhashov/haskell-socket-unix
Uploaded by VyacheslavHashov at Fri Jan 6 05:18:39 UTC 2017
Distributions NixOS:0.2.0.0
Downloads 716 total (43 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-01-06 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for socket-unix-0.1.0.0

[back to package description]

Available on Hackage License MIT Build Status

socket-unix

A Unix domain socket API for the socket library.

Usage

Creating the Unix domain socket:

import System.Socket
import System.Socket.Type.Stream
import System.Socket.Family.Unix

s <- socket :: IO (Socket Unix Stream Unix)

Creating the address for binding/connecting

address <- case socketAddressUnixPath "example.sock" of
             Just addr -> pure addr
             Nothing -> putStrLn "invalid pathname for socket"

Symlinks

Binding to a socket with a filename creates a socket in the filesystem, but does not unlink it after close called. You should handle deleting links yourself.

Portability

Only Linux is supported.