Использование Java NIO с сокетами Unix Domain в неблокирующем режиме с селекторами - PullRequest
5 голосов
/ 09 января 2012

Есть ли способ использовать доменные сокеты Unix с Java NIO? Я хочу использовать NIO, чтобы я мог использовать селекторы на нем в одном потоке.

Я посмотрел на junixsocket , но кажется, что он поддерживает только обычные сокеты, а не каналы NIO, которые поддерживают селекторы.

Ответы [ 2 ]

8 голосов
/ 30 июня 2013

Вы можете использовать проект jnr-unixsocket, (https://github.com/jnr/jnr-unixsocket), который является наиболее продвинутой реализацией, которую я видел. Он выполняет именно то, что вам нужно: концепции nio Селекторы, каналы и т. Д.

Смотри @ https://github.com/jnr/jnr-unixsocket/tree/master/src/test/java/jnr/unixsocket/example

1 голос
/ 12 марта 2012

Подтверждаю, XNIO поддерживает использование доменных сокетов Unix в качестве «локальных сокетов».Помимо упоминания о выпуске, здесь есть:

Но ни один из каналов XNIO не поддерживает SelectableChannel , поэтому я боюсь, что вы не сможете использовать селекторы.

Я предлагаю вам опубликовать проблему, чтобы улучшить эту ситуацию, как в XNIO, так и в Проект GNU ClassPath , где LocalSocket.getSocketChannel возвращает null.

...