使用Java NIO和选择器在非阻塞模式下与Unix域套接字一起工作

7

有没有一种方法可以在Java NIO中使用Unix域套接字?我想使用NIO,以便在单个线程中使用选择器。

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

4个回答

9

不用谢。我成功地使用它从nginx代理读写HTTP请求到Unix套接字域。 - taharqa

2

JDK 16内置了对Unix域套接字的支持。这里是Oracle提供的一个使用NIO的示例:链接


太好了听到这个消息。我曾经工作的那个项目早已完成,但是对于未来的任何项目都有所帮助。 - jbx

1

谢谢。很遗憾XNIO没有实现Selectors,这是NIO的主要优势之一。 - jbx
尽管该答案不包括对选择器的支持,但它是最好的答案。 - jbx
1
更新:已经从XNIO的实际开发人员那里得到确认,它实际上不支持Unix域套接字。该接口定义了它,但实现尚不存在。正在进行实现... - jbx
稍等一下...你的回答说XNIO支持Unix套接字,但这里有一个评论说它不支持。只有一个人是正确的。在这个问题得到解决之前,我会给你的回答点踩。 - Mike Pone
哇,这个帖子已经很老了。当时XNIO API有一个接口可以让你选择Unix套接字,但是我收到了一位开发人员的回复,表示实现仍然不可用。也许这已经改变了,因为我提问已经快两年了。 - jbx
我查看了最新的3.2 beta代码,看起来API仍然存在,但没有实现。http://grepcode.com/file/repo1.maven.org/maven2/org.jboss.xnio/xnio-api/3.2.0.Beta3/org/xnio/XnioWorker.java?av=f - Mike Pone

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接