Шаг 155.
Язык программирования Java.
Второй пример клиента

На этом шаге мы приведем второй пример клиента

Усовершенствуем предыдущее клиентское приложение. Теперь мы будем каждый раз спрашивать текст для отправки. Когда введем слово END_OF_WORK, тогда приложение закончит свою работу.

import java.io.*;
import java.net.Socket;

public class Client {

    public static void main(String[] args) throws IOException {
        // try с ресурсами, чтобы корректно закрыть потом сокет
        try (Socket socket = new Socket(Constants.HOST, Constants.PORT)) {
            // Получаем необходимые потоки
      DataInputStream inputStream = new DataInputStream(socket.getInputStream());
      DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());

      BufferedReader bufferedReader = new BufferedReader(
                                                 new InputStreamReader(System.in));

            // Будем работать, пока не введем END_OF_WORK
            while (true) {
                // Введем текст для отправки
                System.out.print("Введите текст: ");
                String text = bufferedReader.readLine();

                // Отправляем
                outputStream.writeUTF(text);
                outputStream.flush();

                // Получаем ответ от сервера
                String echoText = inputStream.readUTF();
                System.out.println("echo: " + echoText);

                // Если ввели END_OF_WORK прекращаем работу
                if (Constants.END_OF_WORK.equals(text)) {
                    break;
                }
            }

            // Обязательно закрываем потоки
            inputStream.close();
            outputStream.close();
        }
    }

}

Проект можно взять здесь


Рис. 1. Вывод программы

На следующем шаге мы приведем второй пример сервера

Предыдущий шаг Содержание Следующий шаг