Networks 2013

Материал из SEWiki
Перейти к: навигация, поиск

Лектор - Антон Кузнецов

Практика - Антон Кузнецов

Рейтинг

Рейтинг

Лекции

HTTP

Cокеты

Сокеты-01
Сокеты-02

Rest

Products & consumers

Это разновидность паттерна producer-consumer (производитель-потребитель). Один поток (или один модуль) отвечает за прием данных по сети. При прохождении десериализации данные превращаются в объекты (продукты). При конструировании продукты автоматически добавляются в соответствующую очередь (на каждый тип продукта - своя очередь). Потребитель (consumer) отвечает за обработку конкретного вида продуктов и в процессе своей работы получает данные из соответствующей очереди.
Основная цель паттерна - разграничение ответственности. Сетевой модуль не знает, каким образом необходимо обрабатывать каждый тип данных, поэтому он не должен об этом задумываться, что достигается за счет автоматического добавления продуктов при десериализации в соответствующую очередь. Для обработки данных есть потребители. Если возникнет необходимость добавить новый тип продуктов, то необходимо лишь добавить соответствующего потребителя.
У данного паттерна также есть разновидности - зачастую продукты помещаются не в несколько очередей, а в одну. А при обработке продукт предлагается последовательно всем потребителям. Если ни один из потребителей не обработал продукт, то клиенту возвращается ошибка...

Домашние задания

Домашнее задание от 11/10

a) ICMP-типы 13 -- запрос синхронизации времени и 14 -- время отправки, получения и т.д. Нужно реализовать клиент и сервер. Проверить, чтобы работало со стандартными службами ОС.

б) ICMP-типы 17 и 18. В 17-ом пакете есть адрес, а в 18 -- маска, соответствующая его сети. Клиент и сервер. C, С++, С++ + Boost.Asio, Java, C#, Python, Haskell, Erlang


Дедлайн 25/10

Домашнее задание -- сетевой чатик Добавить возможность считать метрики:

  • Среднее время обработки клиента;
  • Среднее время простоя потока

Протокол: https://lh5.googleusercontent.com/-YQCK_bdGt8k/UnOKDDQL8MI/AAAAAAAABvk/uX_QN90tNDI/w1598-h899-no/20131011_152621.jpg

Еще две "четкие" фотографии: раз, два


Если вы не используете паттерн Products and consumers в чате, то нужно сделать дополнительное задание.

Крайний срок для чата -- 15 ноября.

Посчитать метрики для чата: Среднее время обработки клиента и понять, с какого момента оно начинает резко расти; Среднее время простоя.


Еще задание про REST. До конца ноября. Про REST читать здесь: http://www.vogella.com/articles/REST/article.html

Список литературы

Ссылки

TCP/IP Illustrated, Vol. 1



---Также (добавил не Антон): http://book.itep.ru/4/44/icmp_444.htm