Che programma vi sia lato server non ha importanza, quello che è da capire è se il server accetta o meno la comunicazione.
Poi bisogna capire che tipo di protocollo utilizza. Da quel che posso "intuire" non si tratta di un protocollo testuale, ma binario. Quello che stai facendo tu, invece, è inviare del testo sul socket (e nemmeno completo... manca, appunto, quel 0xFF alla fine).
Tieni presente che il software sta inviando la scritta BLO1 (BI, ELLE, O, UNO), mentre tu nel tuo codice hai scritto BL01 (BI, ELLE, ZERO, UNO).
Io proverei a cambiare approccio.
codice:
Socke pesaSocket = null;
OutputStream out = null;
try {
pesaSocket = new Socket("192.168.5.31", 7000);
out = pesaSocket.getOutputStream();
byte[] data = {(byte) 0x42, (byte) 0x4c, (byte) 0x4f, (byte) 0x31, (byte) 0xff}; //BLO1
out.write(data, 0, data.length);
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try { out.close(); } catch (Exception e) { }
}
if (pesaSocket != null) {
try { pesaSocket.close(); } catch (Exception e) { }
}
}
Ciao.