socket-unix: Unix domain sockets

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

A Unix domain socket extension for the socket library


[Skip to Readme]

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

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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 2017-01-06T05:20:56Z
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 2017-01-06T05:18:39Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 2523 total (15 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-01-06 [all 1 reports]

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"

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.