The socket-unix package

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

A Unix domain socket extension for the socket library


[Skip to Readme]

Properties

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.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 repository head: git clone https://github.com/vyacheslavhashov/haskell-socket-unix
Uploaded Sat Feb 25 15:28:14 UTC 2017 by VyacheslavHashov
Distributions NixOS:0.2.0.0
Downloads 141 total (8 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-02-25 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


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"

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

Linux and OS X are supported.