existe-t-il un moyen d'accéder aux prises de domaine UNIX (par exemple / var / var / dbus / system_bus_socket) directement à partir d'Erlang
4 Réponses :
Erlang / OTP est livré avec des pilotes pour les sockets TCP et UDP uniquement. Alors ... p>
NO. P>
c'est si très très triste
the Par exemple, Pour ouvrir le côté de la réponse d'un protocole de demande / réponse et de lier à une adresse de prise de domaine UNIX: p> ici, nanomsg code> bibliothèque
prend en charge les prises de domaine UNIX et le ENM code> le pilote
fournit une liaison de langue erlang pour nanomsg code>.
rep code> est un
nanomsg code> socket. Il prend en charge
envoyer code> et
RECV code> ainsi que tous les erlang
{actif, vrai | faux | N} code> modes, etc. Les prises régulières Erlang TCP / SCTP / UDP fournissent. Pour plus de détails, consultez le
ENM code> Github Readme
. p> p>
in Erlang / OTP 19.0, les sockets UNIX sont maintenant disponibles, comme indiqué dans le fichier README < / a>: OTP-13572 Application (s): ERTS, noyau P>
ID (s) associé (s): PR-612 P>
* Highlight * strong> p>
Support expérimental pour les prises de domaine UNIX a été
mis en œuvre. Lisez les sources si vous voulez l'essayer
dehors. Exemple: gen_udp: ouvert (0,
[{ifaddr, {local, "/ tmp / socket"}}]). La documentation sera
être écrit après les commentaires de l'utilisateur sur l'API expérimentale. P>
blockQuote> Exemple: strong> p> lsock.erl: p> et ce qui suit démontre ses résultats: < / p>
Vous pouvez utiliser Hackney Si vous souhaitez recevoir une réponse HTTP lorsque Hackney assure la prise en charge de la prise UNIX. Hackney: obtenez << "http + Unix: // chemin_to_ sock_file.sock" >> p>
Il y a un / lib / noyau / exemples / uds_dist dans la distribution de source Erlang, mais il utilise un pilote. Est-ce que cela compte tiers? :)