Sí, leerla byte a byte es una opción, pero yo he optado por otra que me parece mejor (porque como no sé la longitud del paquete no sé cuantos bytes debo leero), por si le es útil a alguien, lo que he hecho de la siguiente manera:
Código:
InputStream flujoEntrada = servidor.getInputStream();
DataInputStream datoRec = new DataInputStream(flujoEntrada);
InputStreamReader datosEntrada = new InputStreamReader(datoRec);
BufferedReader buffer = new BufferedReader(datosEntrada);
Strin recibido = buffer.readLine();
Saludos