Архив категории ‘Язык программирования Java’

Второе клиент-серверное приложение. Серверная часть

На этом шаге мы приведем серверную часть нашего приложения Вот серверная часть нашего приложения: import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.stream.Collectors; public class Server { public static void main(String[] args) throws IOException { try (ServerSocket socket […]

Второе клиент-серверное приложение. Клиентская часть

На этом шаге мы начнем рассматривать еще одно клиент-серверное приложение Пусть у нас будет приложение, с помощью которого можно отправлять файлы на сервер. Клиентская часть сначала запросит логин. Далее будет спрашивать тип операции: Получить список файлов. Удалить файл на сервере. Отправить файл на сервер. Выход из приложения. На каждый тип операции сервер будет выдавать ответ. […]

Третий пример сервера

На этом шаге мы приведем третий пример сервера import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.EOFException; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Server { public static void main(String[] args) throws IOException { // try с ресурсами, чтобы корректно закрыть потом сокет try (ServerSocket socket = new ServerSocket(Constants.PORT)) { System.out.println("Server started"); // […]

Одновременная обработка нескольких соединений

На этом шаге мы узнаем с помощью чего можно обработать одновременно несколько соединений Ранее мы создавали серверное приложение, которое способно обслужить одновременно только одного клиента. Для того, чтобы обслужить одновременно несколько клиентов, нужны знания по параллельному программированию. На этом шаге мы только приведем способ создания отдельных потоков (с остальными возможностями параллельного программирования в Java мы […]

Второй пример сервера

На этом шаге мы приведем второй пример сервера По аналогии с клиентом, усовершенствуем серверную часть. Текст программы представлен ниже. import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException { // try с ресурсами, чтобы корректно закрыть потом сокет try (ServerSocket socket = new […]

Второй пример клиента

На этом шаге мы приведем второй пример клиента Усовершенствуем предыдущее клиентское приложение. Теперь мы будем каждый раз спрашивать текст для отправки. Когда введем слово END_OF_WORK, тогда приложение закончит свою работу. import java.io.*; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { // try с ресурсами, чтобы корректно закрыть потом сокет […]

Первый пример использования класса ServerSocket

На этом шаге мы приведем первый пример использования класса ServerSocket Наша программа будет ждать подключение клиента. Она получит сообщение от клиента и переотправит это сообщение, после чего закончит свою работу. import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException { // try с […]

Класс ServerSocket

На этом шаге мы рассмотрим класс ServerSocket Ранее мы создали простое клиентское приложение. Для создания серверной части необходим класс ServerSocket. Объект данного класса можно создать одним из следующих способов: ServerSocket socket = new ServerSocket(Constants.PORT); ServerSocket socket = new ServerSocket(Constants.PORT, Constants.BACKLOG); // Constants.PORT это номер порта, на котором будет работать приложение. /* Constants.BACKLOG это количество соединений, […]

Пример первого клиентского приложения

На этом шаге мы приведем первый пример использования класса Socket Наша программа будет подключаться к серверу (его мы расмотрим позднее). От пользователя потребуется ввод сообщения, после чего оно будет отправлено на сервер. В конце программа получит сообщение и закончит свою работу. import java.io.*; import java.net.Socket; public class Client { public static void main(String[] args) throws […]

Класс Socket

На этом шаге мы рассмотрим класс Socket Ранее мы узнали, как скачивать данные из сети. В ближайших шагах мы узнаем, как написать клиент-серверное приложение. Начнем с клиентской части. Для этого нам понадобится класс Socket. Создать объект этого класса можно несколькими способами: Socket socket = new Socket(Constants.HOST, Constants.PORT); // Constants.HOST это адрес сервера, к которому мы […]