Tienes varias opciones dependiendo de lo que quieras hacer, si solo es socket para conexion de base de datos usa JRDC (o conexión directa), si es para conexion en tiempo real usa WebSockets o también puedes usar mqtt
Todas estas opciones están tanto para web (non ui) como para javafx (ui)
Yo solo he usado mqtt. Realmente es fácil de implementar y con sleep y wait for es todavía mas fácil