2016-01-10 15 views
5

Mi piacerebbe leggere i messaggi da un socket di dominio Unix (SOCK_STREAM) ma ho difficoltà a trovare un esempio funzionante per farlo in Elixir. Ho cercato di farlo funzionare con la libreria Procket di Erlang, ma non ho avuto altro che problemi.Socket di dominio Unix in elisir

Qualcuno può mostrarmi un esempio funzionante di lettura da un socket dominio unix in Elixir?

+0

so che hai chiesto di esempi Elixir ma qui è una discussione riguardo la lettura dei messaggi dal socket Unix Domain in Erlang http://erlang.org/pipermail/erlang-questions/2009-March/042184. html. Immagino che la risposta sia probabilmente una porta personalizzata anche in Elisir. –

risposta

3

Here è un bell'esempio, utilizzando :procket.

funzioni ottengono una tupla di descrittori di file {stdin, stdout} da un indirizzo di connessione, IPv4, IPv6 o socket di dominio unix.

MODIFICA: Viene qui utilizzato per inizializzare una porta, ma utilizzando http://elixir-lang.org/docs/stable/elixir/IO.html è facile da leggere.

2

Non c'è supporto per Unix Socket in Erlang vaniglia né in elisir.

Ancora ci sono un paio di soluzioni, fornite come C-extensions. Uno è già citato procket, altro è afunix.

trovo esempi nel afunix readme abbastanza semplice e facile da brain-traducono in Elixir (ricordate in minuscolo i VAR e uso apostrofi ' invece di citazioni "!).

[EDIT]

progetto Erlang (a patto che si tratta di tondo per cemento armato-ized, sia sopra sono) possono essere facilmente aggiunti al progetto Mix con l'aggiunta di dipendenze la seguente tupla (spudoratamente promuovendo menzionato afunix per nessun motivo:):

{:afunix, github: "tonyrog/afunix"}

Problemi correlati