2010-11-04 163 views
13

我看到這些線程UNIX socket implementation for Java?http://forums.sun.com/thread.jspa?threadID=713266UNIX域套接字在Java中

第二個環節說的Java已經支持UNIX域套接字。如果那是真的,我需要從Java實現什麼類?

從第一個環節,它說,Java不支持Unix域套接字。如果您需要UNIX域套接字,則必須使用第三方庫。

那麼,這是什麼?無需使用第三方(本機)庫

+4

第二個環節(forums.sun.com)被打破,似乎導致了甲骨文的一些無處領先頁面。沒有archive.org發現,順便說一句,傷心。 – Tino 2015-05-23 19:21:47

回答

13

的Java不能創建或訪問UNIX域套接字。上面第二個鏈接的最後一條評論提到了這一點。

第一個環節上有一些很好的(正確)的信息。

16

你可以使用junixsocket:https://github.com/kohlschutter/junixsocket

它通過JNI庫提供了AF-UNIX支持,利用了Java的Socket API。它甚至允許通過Unix套接字從Java(Connector/J)連接到MySQL。

+2

截至2015年11月,在* junixsocket *項目所在的https://github.com/kohlschutter/junixsocket – VirtualMichael 2015-11-04 05:55:06

+3

要小心,它僅支持數據流模式Unix套接字。使用'netstat -ux'檢查你的服務器是否打開。另請參見[UNIX域STREAM和DATAGRAM套接字之間的區別](http://stackoverflow.com/questions/13953912)。 – Florian 2017-03-16 15:43:17

3

的Netty也支持它,因爲4.0.26版本:https://github.com/netty/netty/pull/3344

+1

小心,它只支持STREAM模式下的Unix套接字。使用'netstat -ux'檢查你的服務器是否打開。另請參見[UNIX域STREAM和DATAGRAM套接字之間的區別](http://stackoverflow.com/questions/13953912)。 – Florian 2017-03-16 15:44:08