有没有办法将Java Domain套接字与Java NIO一起使用?我想使用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
我确认XNIO支持使用Unix域套接字,作为“本地套接字”。除了发行说明之外,这里有:
但是没有一个XNIO频道实现SelectableChannel所以我担心你将无法使用选择器。
我建议你发布一个问题来改善这种情况,无论是在XNIO还是GNU ClassPath project,LocalSocket.getSocketChannel都会返回null
。