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!