O que não está funcionando?
O servidor deve iniciar primeiro.
E depois o cliente…
Mas no código tem um erro no cliente quando você instancia a thread.
Esse código eu já tinha visto pois estou desenvolvendo algo parecido.
Veja:
Thread thread = new Thread(socket);
thread.start();
Testa isso e vê se funciona.
Até mais…