有没有办法在 Java NIO 中使用 Unix 域套接字?我想使用 NIO,以便可以在单个线程中使用选择器。
我查看了junixsocket,但它似乎只支持普通套接字而不是支持选择器的 NIO 通道。
有没有办法在 Java NIO 中使用 Unix 域套接字?我想使用 NIO,以便可以在单个线程中使用选择器。
我查看了junixsocket,但它似乎只支持普通套接字而不是支持选择器的 NIO 通道。
您可以使用项目 jnr-unixsocket,( https://github.com/jnr/jnr-unixsocket ),这是我见过的最先进的实现。它完全符合您的要求:nio 概念选择器、通道等
看@https ://github.com/jnr/jnr-unixsocket/tree/master/src/test/java/jnr/unixsocket/example
JDK 16 内置了对 Unix 域套接字的支持。这是Oracle 的一个关于在 NIO 中使用它的示例
我确认XNIO支持使用 Unix 域套接字,作为“本地套接字”。除了发行说明提及之外,还有:
但是没有一个 XNIO 通道实现SelectableChannel,所以我担心你将无法使用选择器。
我建议您在 XNIO 和LocalSocket.getSocketChannel返回的GNU ClassPath 项目中发布一个问题来改善这种情况。null