На этом шаге мы приведем первый пример использования класса Socket
Наша программа будет подключаться к серверу (его мы расмотрим позднее). От пользователя потребуется ввод сообщения, после чего оно будет отправлено на сервер. В конце программа получит сообщение и закончит свою работу.
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)); System.out.print("Введите текст: "); String text = bufferedReader.readLine(); // Отправляем outputStream.writeUTF(text); outputStream.flush(); // Получаем ответ от сервера String echoText = inputStream.readUTF(); System.out.println("echo: " + echoText); // Обязательно закрываем потоки inputStream.close(); outputStream.close(); } } }
Проект можно взять здесь
Рис. 1. Вывод программы
На следующем шаге мы рассмотрим класс ServerSocket