# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
2 теста |
|||
В этой серии видеоуроков мы подробно разберём принципы работы клиент-серверных программ на основе сокетов и напишем небольшую демонстрационную программу. Рекомендую ознакомиться со статьёй: http://qaru.site/questions/12999/what-is-the-difference-between-a-port-and-a-socket Отчёт отправил: 21714. grom518 Выполнено за 36 мин. [Показать отчёт] Научился: 1) Клиент-серверное приложение — сетевая архитектура, в которой устройства являются либо клиентами, либо серверами. Клиентом (front end) является запрашивающая машина (обычно ПК), сервером (back end) — машина, которая отвечает на запрос. Оба термина (клиент и сервер) могут применяться как к физическим устройствам, так и к программному обеспечению. 2-3) Со́кет (англ. socket — разъём) — название программного интерфейса для обеспечения обмена данными между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет — абстрактный объект, представляющий конечную точку соединения. Клиентские сокеты грубо можно сравнить с конечными аппаратами телефонной сети, а серверные — с коммутаторами. Клиентское приложение (например, браузер) использует только клиентские сокеты, а серверное (например, веб-сервер, которому браузер посылает запросы) — как клиентские, так и серверные сокеты. 4) Протоколы TCP и UDP используют такие понятия как “порт” и “сокет”. Пакеты, поступающие на транспортный уровень, организуются операционной системой в виде множества очередей к точкам входа различных прикладных процессов. Такие системные очереди называются портами. Для идентификации им присваивают номера (от 0 до 1023). Если процессы представляют собой наиболее распространенные общедоступные службы, то за ними закрепляются стандартные номера. Например, FTP – номер 21, telnet – номер 23 и т.д. Сокет означает комбинацию IP-адреса и номера порта: Сокет = IP-адрес : порт Например, сокет HTTP: 192.168.0.2:80 |
|||||
2 | Простейший сервер |
2 теста |
|||
На этом уроке мы создадим простейший сервер, который будет принимать подключения от клиентов и проверим его работу из телнета и браузера.
Отчёт отправил: 21714. grom518 Выполнено за 24 мин. [Показать отчёт] Научился: 1. Создал проект ClientServerJava 2. Подключил необходимые для работы с сетью и вводом выводом библиотеки 3. Создал Socket 4. Запустил и протестировал работу созданного сервера через браузер и telnet |
|||||
3 | Автоответчик |
1 тест |
|||
На этом слайде мы напишем сервер-автоответчик, который всем клиентам будет отправлять одно и тоже сообщение.
Отчёт отправил: 21714. grom518 Выполнено за 41 мин. [Показать отчёт] Научился: Всё сделано по плану |
|||||
4 | Правильный заголовок |
2 теста |
|||
На этом дополнительном слайде мы сформируем правильный HTTP-ответ, который будет выдавать наш сервер, чтобы даже привередливые браузеры смогли бы его отобразить. Отчёт отправил: 21714. grom518 Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: В Edge браузере что то не загружается результат, долго грузится |
|||||
5 | Как хорошо уметь читать! |
1 тест |
|||
На этом слайде мы создадим клиента, который сможет прочитать сообщение от сервера.
Отчёт отправил: 21714. grom518 Выполнено за 44 мин. [Показать отчёт] Научился: В этот раз в браузере не отображалось ничего, но в программе сервер считал подключение. |
|||||
6 | Клиент-серверный диалог |
|
|||
На этом слайде мы обеспечим полноценное общение между клиентом и сервером через сокет
Отчёт отправил: 21714. grom518 Выполнено за 51 мин. [Показать отчёт] Научился: Что мог, то сделал |
|||||
7 | Экспериментальный сервачок |
1 тест |
|||
На этом уроке мы ещё раз построчно и подробно разберём написанные программы и поэкспериментируем с "медленным" сервером. Самостоятельное задание - написать клиент-серверную игру "Угадай число".
Отчёт отправил: 21714. grom518 Выполнено за 32 мин. [Показать отчёт] Научился: Написать для меня самостоятельно что-то = это "тёмный лес" , поэтому списываю пока как могу (( |
|||||
8 | Техническое задание |
|
|||
Мы познакомились с принципом работы сокетов. Теперь самое время создать какую-нибудь простую клиент-серверную программку. На этом видео мы сформулируем техническое задание. Попробуйте самостоятельно написать программу по ТЗ. Отчёт отправил: 21714. grom518 Выполнено за 13 мин. [Показать отчёт] Научился: Перехожу к следующему уроку, чтобы реализовать данную модель |
|||||
9 | Основной алгоритм |
|
|||
На этом слайде мы напишем два алгоритма в одной программе: для сервера и для клиента.
Отчёт отправил: 21714. grom518 Выполнено за 40 мин. [Показать отчёт] Научился: Cтранно что в программе используются "позывные" от С# Вам не кажется так или это специально так задумано? |
|||||
10 | Скелет телефона |
1 тест |
|||
На этом коротком слайде мы создадим метод calculate() и очень быстро набросаем скелет класса Phone, используя возможности кодогенерации Intellij Idea.
Отчёт отправил: 21714. grom518 Выполнено за 14 мин. [Показать отчёт] Научился: Всё сделано ! |
|||||
11 | Универсальный сокет |
|
|||
На этом слайде мы создадим все методы универсального сокета в классе Phone. Протестируйте программу в разных режимах. Придумайте, какую ещё клиент-серверную программу можно написать. Отчёт отправил: 21714. grom518 Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Научился делать сложение через клиент. НО когда на сервере в терминале выставлять - или / или умножение, через клиент будет происходить "сложение" |
|||||
12 | ФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Оставьте отзыв об этом миникурсе и отчитайтесь за самостоятельное задание. | |||||
13 |
![]() |
|
|||
На этом слайде мы поговорим о многопоточности, рассмотрим несколько примеров, кода имеет смысл разделять задачу на потоки, а когда нет. На следующих слайдах мы напишем простой многопоточный сокет для сервера на языке Java | |||||
14 | VIP. Два потока |
1 тест |
|||
На этом слайде мы создадим простейшую программу с двумя потоками. | |||||
15 | VIP. Синхрофазатрон |
|
|||
На этом слайде мы создадим коллизию и узнаем, как от неё избавиться. | |||||
16 | VIP. Функциональное потокообразование |
2 теста |
|||
На этом коротком слайде мы узнаем, как создать поток через функциональное программирование. | |||||
17 | VIP. Мультики на сервере |
1 тест |
|||
На этом слайде мы встроим многопоточность в клиент-серверную программу Socketor и продемонстрируем достигнутый эффект. | |||||
18 | VIP. Динамичная многопоточность |
|
|||
На этом заключительном видеоуроке мы познакомимся с другим способом создания многопоточного сервера. Если на предыдущем уроке у нас "крутилось" несколько копий одной программы, то теперь мы будем создавать новый поток при каждом подключении клиента. Сравните оба варианта и напишите в отчёте, какой подход вам больше понравился и почему. |
|||||
Итого: 18 видеоуроков |
3 час. 22 мин. 15 тестов |
9 чел. | |||
Финалисты: Yefim, Chip, Иван Воронин, Tekashnik, Александр, vip, Айдар, Dmitry Sinitsin, Anatoli . |