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

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.8.0.0 && <0.9.0.0) [details]
License MIT
Copyright 2017 Vyacheslav Hashov
Author Vyacheslav Hashov
Maintainer vyacheslavhashov@gmail.com
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-02-25T15:28:14Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 2523 total (11 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-02-25 [all 1 reports]

Readme for socket-unix-0.2.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

Linux and OS X are supported.