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

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

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

Клиент-серверный сокет / Техническое задание

  • Мы познакомились с принципом работы сокетов.
    Теперь самое время создать какую-нибудь простую клиент-серверную программку.
    На этом видео мы сформулируем техническое задание.
    Попробуйте самостоятельно написать программу по ТЗ.
  • Дата отправки отчёта: 1 декабря 2018 г.
  • Задание выполнено: за 2 час. 2 мин.
  • Чему научился: В принципе, мне ясно как писать эту программу.
    На скриншоте в начале приведено техническое задание по видео, а затем
    мой вариант.
  • Что было сложным: Моя Java11 не принимает Java Socketor, а Java Socketor.java работает. 
    Поскольку нас призывают к максимальному упрощению и мы используем всегда порт 8000 и ip для клиента 127.0.0.1, то указывать их в качестве параметров нет необходимости.
    Кроме того, мне показалось более логичным в запросе клиента указывать также и операцию и тогда, если программа запускается без параметров, то работает сервер, а если с параметром, то клиент.
    С учетом сказанного моё ТЗ выглядит так:

    Java MySocketor.java
    >>Server started
    >>Accepted client: 45 + 35 = 80.

    Java MySocketor.java 45 + 35
    >>Sending request 45 + 35
    >>Getting result 80
  • Оценка видео-уроку:
Отчёт от 11589 за Клиент-серверный сокет / Техническое задание




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Yefim  # Клиент-серверный сокет / Техническое задание / 2018-12-01 13:54

Классно придумал с упрощением!


10558. --
Иван Воронин
Иван Воронин
ответить
→  Yefim  # Клиент-серверный сокет / Техническое задание / 2018-12-01 14:09

Молодец, Ефим, отличная идея, хотелось бы уточнить некоторые нюансы, по поводу того, стоят ли они свеч! По поводу того, что мы используем всегда один и тот же айпи и порт, но передаём их через параметры, это даёт возможность реализовать универсальное приложение, так как можно будет указать необходимый айпи, чтобы проверить по локалке или интернет, а другой порт, если 8000 занят. По поводу того, чтобы клиент передавал тип операции, это усложнит код серверной части, так как нагрузка возрастёт в 4 раза, а можно запустить 4 сервера, чтобы каждый выполнял только своё, тем самым создадим кластер, так как сервера могут располагаться на разных серверах и иметь различные айпи и порты, если их клиент знает, он будет знать где производятся необходимые вычисления. Распределённое вычисление очень важная часть в современном мире и задел на будущее.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Yefim  # Клиент-серверный сокет / Техническое задание / 2018-12-01 14:26

Все таки не соглашусь насчет убирания айпи адреса. Так как клиент может и должен быть запущен с разных компов, поэтому адрес указывать обязательно.  Порт можно одинаковый вездесделать . А ИП - нет.


  • Отчёт оценивали:
    9913vip+1   17947Dmitry Sinitsin+1   791Валерий Жданов+1   1Евгений Волосатов+1   18131Александр+1   10558Иван Воронин+1   16568Игорь Тюлькин+1   6203Николай Миролюбов+1   19384Владимир+1   8932Алекс+1   17606Виктор+1   1950Sergey Potapov+1   3922Александр+1   14981DimanDOS+1   8275Tekashnik+1  

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





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

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

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

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


Научился: составили техническое задание для создаваемого приложения. 1. Приложение консольное 2. Запуск из командной строки 3. Аргументы из командной строки (консоль) 4. Единая программа с выбором режима из двух вариантов: Сервер или Клиент 5. Программа работает с арифметическими операциями в зависимости от режима запущенного на Сервере
Трудности: набрал код Айдара - работает. Записал видео дабы разобраться в организации приложения. В общем и целом всё понятно, но сам из головы бы не написал - в этом проблема, которая как решается пока не понимаю. Может если продолжить учиться, когда-то да появится твердь вместо болота в башке?



Научился: Реализовал программу Socketor - клиент-серверный калькулятор. Поразительно, но сам клиент-серверный обмен был написан довольно быстро :) Много времени ушло на парсинг командной строки, обработку ошибок ввода, проверка деления на ноль. Спасибо Евгений Витольдович, я хорошо попрактиковался :)