salve

sto creando un applicazione desktop java che legge i dati scritti su un socket da un altro dispositivo (un PLC). In sostanza, il PC deve fare da client,il PLC da server. Ho usato la classe Socket per implementare il client sul PC. Sono riuscito a configurare il tutto per la connessione tra pc e plc (che funziona regolarmente). Inoltre il server (PLC) scrive regolarmente i dati sul socket (di questo sono sicuro). Il problema è che non riesco ad andare a recuperare i dati. Ho usato il seguente codice:

codice:
 public String LeggiDati(Socket s1){
     String dati="";

          InputStream is = s1.getInputStream();
          BufferedReader dis = new BufferedReader(
          new InputStreamReader(is));
          dati= dis.readLine();
          dis.close();
      return dati;
     }
ma non ottengo risultati. I dati scritti sul socket dal plc sono costituiti da una stringa di circa un centinaio di byte, ognuno dei quali contiene il codice ascii di un carattere.


E' giusto quel codice per leggere i dati? quale può essere il problema?