Ciao a tutti, sto sviluppando un applicazione in java per la comnonucazione con i nuovi registratori di cassa fiscali, utilizzando il protocollo Xon/xoff.
Ho collegato il terminale via ethernet utilizzando il socket con questo codice
Socket socket = new Socket(ip,port);
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
OutputStream outStream = socket.getOutputStream();
String messageString = "message1";
outStream.write(messageString.getBytes());
outStream.flush();
messageString = "message2";
outStream.write(messageString.getBytes());
outStream.flush();
outStream.close();
br.close();
socket.close();
Fin qua tutto bene, la stampante stampa.Quando però cerco di inviare piu comandi in sequenza si blocca al primo messaggio, come se il socket perdesse il messaggio, cosi sono costretto a chiudere il socket e riaprirlo in questo modo
Socket socket = new Socket(ip,port);
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
OutputStream outStream = socket.getOutputStream();
String messageString = "message1";
outStream.write(messageString.getBytes());
outStream.flush();
outStream.close();
br.close();
socket.close();
socket = new Socket(ip,port);
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
OutputStream outStream = socket.getOutputStream();
String messageString = "message2";
outStream.write(messageString.getBytes());
outStream.flush();
outStream.close();
br.close();
socket.close();
In questa maniera funziona ma impiega più tempo.Considerato che devo inviare molto messaggi il tempo lievita.
grazie per le risposte