Buongiorno, spiego in poche parole cosa sto facendo: un progetto server-client multi thread che simula il gioco delle 3 carte ovvero indovina dove è l'asso e scommetti 
ora il problema: il lato server non legge una stringa che gli invio da client ovvero quella di scelta dell'operazione da fare; tutto il codice prima viene eseguito ho verificato con delle semplici stampe.
posto di seguito il codice relativo al pezzo non funzionante
codice:
server
try /*prova a catturare errore nella lettura dall'input del client*/
{
inFromClient=new BufferedReader(new InputStreamReader(socket.getInputStream()));
s=inFromClient.readLine();
System.out.println("s letta e risp convertita");
risp=Integer.parseInt(s);
}
catch (IOException e)
{
System.out.println("Error " + e);
}
catch (NumberFormatException e2)
{
System.out.println("Error " + e2);
}
client
/*stampa del menù effettuata su lato client così da rendere più veloce il processo*/
System.out.println("[1] Effettua Login ");
System.out.println("[2] Effettua Registrazione ");
System.out.println("[3] Gioca ");
System.out.println("[0] Esci ");
try /*provo a catturare errori nella creazione di flussi di entrata e di uscita*/
{
fromStdIn=new BufferedReader(new InputStreamReader(System.in));
outToServer=new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
inFromServer=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
System.out.println("Scegli cosa vuoi fare");
outToServer.write(s=fromStdIn.readLine());
System.out.println("s inviata");
risp=Integer.parseInt(s);
}
catch (IOException e)
{
System.out.println(" Error: " + e);
}
spero possiate aiutarmi con questo, altrimenti se servono altre spiegazioni chiedete pure!