Проблема при отправке многих сообщений в сокет - PullRequest
0 голосов
/ 07 февраля 2020

Я разрабатываю приложение в 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 секунд, чтобы получить билет, вероятно, из-за времени для открыть новую розетку Спасибо

...