使用带有选择器的非阻塞模式下的Java NIO和Unix域套接字

问题描述 投票:5回答:2

有没有办法将Java Domain套接字与Java NIO一起使用?我想使用NIO,以便我可以在一个线程中使用选择器。

我看了一下junixsocket,但它似乎只支持正常的套接字而不支持选择器的NIO通道。

java css-selectors nio unix-socket
2个回答
8
投票

您可以使用项目jnr-unixsocket,(https://github.com/jnr/jnr-unixsocket)这是我见过的最先进的实现。它确实是你想要的:nio概念选择器,频道等

看看@ https://github.com/jnr/jnr-unixsocket/tree/master/src/test/java/jnr/unixsocket/example


1
投票

我确认XNIO支持使用Unix域套接字,作为“本地套接字”。除了发行说明之外,这里有:

但是没有一个XNIO频道实现SelectableChannel所以我担心你将无法使用选择器。

我建议你发布一个问题来改善这种情况,无论是在XNIO还是GNU ClassPath projectLocalSocket.getSocketChannel都会返回null

© www.soinside.com 2019 - 2024. All rights reserved.