如何使用 akka 连接到 Unix 套接字?

Posted

技术标签:

【中文标题】如何使用 akka 连接到 Unix 套接字?【英文标题】:How can one connect to a Unix socket using akka? 【发布时间】:2014-11-06 08:12:03 【问题描述】:

虽然在 akka 中使用 TCP 或 UDP 连接到 java.net.InetSocketAddress 相对容易,但 API 中似乎没有 SocketAddress 和 Unix-sockets 的等价物。

对于我当前的项目,我需要使用 Unix-Socket 连接到Docker Remote-API。有没有办法使用 akka 来做到这一点,还是我需要使用不同的方法?

【问题讨论】:

我认为没有任何标准的 JVM 与 Unix 域套接字通信的方法。有几个基于 JNI 的库,谷歌“java unix socket”就在那里。但我不知道它们有多好或有多好。参见例如github.com/mcfunley/juds code.google.com/p/junixsocket github.com/jnr/jnr-unixsocket/tree/master/src/main/java/jnr/… 另见***.com/questions/170600/… 【参考方案1】:

Alpakka(Akka 的反应式流实现)有一个支持 UNIX 域套接字的实现:https://doc.akka.io/docs/alpakka/current/unix-domain-socket.html

顾名思义:Win32 上不支持。

【讨论】:

以上是关于如何使用 akka 连接到 Unix 套接字?的主要内容,如果未能解决你的问题,请参考以下文章

Flask SQLalchemy 无法使用 Unix 套接字连接到 Google Cloud Postgresql 数据库

连接到 redis 时,Unix 套接字比 tcp 慢

Docker:尝试在 unix:///var/run/docker.sock 连接到 Docker 守护程序套接字时获得权限被拒绝

将 c++ unix server/socket 连接到 java windows client/socket

无法通过 unix 套接字从托管在不同 GCP 项目中的 App Engine 柔性环境连接到 Cloud SQL

尝试将 node.js unix 套接字客户端连接到 C 程序时出现 EPROTOTYPE 错误