Salve a tutti, ho un problema e credo di avere individuato la causa del malfunzionamento ma non riesco a risolverlo.
Sto progettando un server java che riceve delle soket da un client il quale è già in funzione, non l'ho progettato io e di conseguenza non posso modificarlo.
Il server si blocca nel momento in cui vado a leggere il contenuto del BufferedReader attraverso il metodo readLine().
Credo che il problema sia nel fatto che la stringa inviata dal client non termina con il carattere "new line" e questo fa crashare il server.
Ritengo che la causa sia questa perchè ho provato a creare un client ad hoc e se la stringa che faccio inviare non termina con newline il comportamento del server rimane invariato, ovvero si blocca.
So per certo che la stringa inviata dal client termina col carattere "}", quindi vorrei sapere se si può fare in modo di leggere il BufferReader affinché venga letta la stringa che termina con } e non con "newline" o se ci potrebbero essere altre soluzioni alternative.
ecco il codice nella parte relativa alla gestione della lettura del buffer
codice:
try (PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));) {
String inputLine;
while ((inputLine = in.readLine()) != null) {
// do something
}
socket.close();
}
spero di essere stato chiaro, grazie in anticipo per eventuali suggerimenti