Я разрабатываю приложение в java для связи с принтером ethe rnet. Я использую этот код
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();
Для «сообщения 1» все нормально, но когда я пытаюсь отправить «сообщение2», принтер не печатает сообщение. Мне нужно закрыть соединение и снова открыть сокет, как это
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();
. Таким образом, все работает нормально, но если я отправляю десять сообщений, мне нужно ждать 10 секунд, чтобы получить билет, вероятно, из-за времени для открыть новую розетку Спасибо