Lo del cliente y el servidor puedes verlo aquí
http://www.cica.es/formacion/JavaTut/Cap9/cli_ser.html
Lo adaptas a tus datos y ya está (para tu aplicación yo quitaría el temporizador)
Lo de las hebras, lo uqe tienes que hacer es poner el código de crear el socket servidor y el accept() en el main, y los códigos que transmiten y reciben en hebras.
Cuando alguien se conecte creas las hebra y llamas a "run"
Creo que no hace falta nada más.
Saludos