2010-11-04 11 views
13

Vedo questi thread UNIX socket implementation for Java? e http://forums.sun.com/thread.jspa?threadID=713266.Socket di dominio UNIX in Java

Il secondo link indica che Java supporta già UNIX Domain Socket. Se è vero quale classe devo implementare da Java ?.

Dal primo collegamento, si dice che Java non supporta UNIX Domain Socket. Se hai bisogno di UNIX Domain Socket, devi usare una libreria di terze parti.

Quindi, qual è?

+4

Il secondo link (forums.sun.com) è rotto e sembra portare a qualche pagina da nessuna parte leader di Oracle. Nessun archivio trovato, a proposito, purtroppo. – Tino

risposta

13

Java non può creare o accedere ai socket di dominio Unix senza utilizzare una libreria di terze parti (nativa). L'ultimo commento sul secondo link sopra menziona questo.

Il primo collegamento presenta alcune informazioni corrette (e corrette).

16

Si potrebbe utilizzare junixsocket: https://github.com/kohlschutter/junixsocket

Fornisce supporto AF-UNIX tramite una libreria JNI, utilizzando l'API Java Socket. Permette anche la connessione a MySQL da Java (Connector/J) tramite socket Unix.

+2

Come a novembre 2015, il progetto * junixsocket * si trova all'indirizzo https://github.com/kohlschutter/junixsocket – VirtualMichael

+3

Attenzione, supporta solo socket Unix in modalità STREAM. Controlla cosa apre il tuo server, con 'netstat -ux'. Vedi anche [Differenza tra STREAM dominio UNIX e socket DATAGRAM] (http://stackoverflow.com/questions/13953912). – Florian

3

Netty supporta anche esso a partire dalla versione 4.0.26: https://github.com/netty/netty/pull/3344

+1

Attenzione, supporta solo socket Unix in modalità STREAM. Controlla cosa apre il tuo server, con 'netstat -ux'. Vedi anche [Differenza tra STREAM dominio UNIX e socket DATAGRAM] (http://stackoverflow.com/questions/13953912). – Florian