Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Клиент-серверный сокет / ФИНАЛЬНЫЙ УРОК

  • Оставьте отзыв об этом миникурсе и отчитайтесь за самостоятельное задание.
  • Дата отправки отчёта: 14 февраля 2019 г.
  • Задание выполнено: за 1 час. 58 мин.
  • Чему научился: Клиентский метод .getInputStream().read() читает один символ, тогда как класс-обёртка для чтения данных - InputStreamReader способен читать уже строку.

    Применили цепочку из создания объектов, на вершине которой классы BufferedReader и BufferedWriter, способные к чтению и созданию полных строк, которые передавались через сетевой протокол между клиентом и сервером.

    Приложение для обмена, обработки Сервером полученного, и выведения на экран результата отправки-обработки-приёма реализовывалось как в рамках одного класса (это при том, что запуск доступен в двух ролях Сервера или Клиента), так и в двух классах.

    Первый класс Socketor имеет точку входа в программу, отвечает за выбор роли, в которой запускается сокет (сервером или клиентом).

    При каждом запуске создаёт новый экземпляр класса и в зависимости ОТ КОЛИЧЕСТВА принятых от пользователя аргументов запускает:
    метод runServer в роли Сервера
    или
    метод runClient в роли Клиента.

    ===============
    Метод runServer создает СОКЕТ - новый экземпляр класса Phone принимая аргументом номер порта для работы.

    В бесконечном цикле запускается метод приёма входящих пакетов извне.

    В первой полученной строке записывает строковую переменную a.

    Во второй полученной строке записывает строковую переменную b.

    В целочисленную переменную записывает результат работы метода калькуляции, принимающего аргументами (все строкового типа) знак математической операции, а и b - числа для математической операции.

    О полученном решении создаётся строковая переменная, которая:
    - выводится на экран в консоли Сервера методом System.out.println
    - передаётся Клиенту для вывода на экран методом phone.writeLine

    После вывода на экран соединение с Клиентом закрывается и Сервер возвращается циклом к ожиданию нового входящего соединения.

    В этом же цикле реализована проверка деления на ноль.
    ================
    Метод калькуляции парсит в целые числа полученные строковые аргументы, и в зависимости от типа операции возвращает целочисленные результат расчётов.

    ================
    Метод runClient принимает строковые аргументы:
    - сетевой адрес
    - номер порта
    - а и b - числа для математической операции.

    Создаётся экземпляр сокета с двумя аргументами (адрес и порт).

    Сокет Клиента построчно отправляет а и b - числа для математической операции.

    Затем с помощью метода readLine() Клиент получает результат вычислений и выводит его в консоль на экран.

    ################
    Второй класс Phone занимается реализацией сокетов Сервера и Клиента.

    Здесь же составлена матрёшка экземпляров классов, способных обрабатывать строковые символы и целые строки из сетевого трафика.

    Во всех методах класса Phone применен отлов ошибок try-catch
  • Оценка видео-уроку:
  • Видеозапись: https://youtu.be/wZqkR2hb31k
Отчёт от 17947 за Клиент-серверный сокет / ФИНАЛЬНЫЙ УРОК


Отчёт от 17947 за Клиент-серверный сокет / ФИНАЛЬНЫЙ УРОК




Оцени работу

 
Сохранить страницу:

9913. --
vip
vip
ответить
→  Dmitry Sinitsin  # Клиент-серверный сокет / ФИНАЛЬНЫЙ УРОК / 2019-02-17 13:01

Проходя данный курс хотел скрестить клиента на C# с сервером на Java.
Но что-то опыт не удался. Немного по разбирался и забил не было времени. Но хочется вернуться и добить данный вопрос.
Для понимания полной картины мироустройства клиент-серверных приложений.


  • Отчёт оценивали:
    18131Александр+1   11353AlliZzeN+1   791Валерий Жданов+1   17542Никита+1   14981DimanDOS+1   162Андрей+1   20659no name+1   9752chokayes+1   9480Кирилл+1   8275Tekashnik+1   1710Степан+1   3922Александр+1   10494Алексей В.+1   9913vip+1   17947Dmitry Sinitsin+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Хорошо поработали с клиент-серверными приложениями
Трудности: не удалось скрестить клиента на C# с сервером на Java



Научился: Отличный курс по созданию клиент-серверного приложения, на котором подробно объяснён процесс передачи информации между программами.