Рождение, жизнь и смерть сокетов (на примере Python)

В докладе Нина рассмотрит, как создаются TCP и UDP сокеты на примере языка Python, начиная от самых простых блокирующих сокетов, и заканчивая асинхронными сокетами, обрабатывающими несколько клиентов.

Библиотека socket для Python предоставляет доступ к интерфейсу сокетов Беркли, который является стандартом для подключения к сети Интернет на низком уровне, и в той или иной реализации поддерживается всеми современными операционными системами. Поэтому, главная задача доклада — показать, что разобравшись один раз в данной теме, можно легко создавать сокеты на любых языках программирования (конечно, с учетом специфики языка).

Сокеты до сих пор активно используются для осуществления обмена данными на низком уровне как между узлами, так и между процессами на одном сервере.

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

В ходе доклада мы также разберемся какой из сокетов, TCP или UDP, лучше (спойлер: нет лучшего или худшего сокета, всё зависит от прикладной задачи).

Целевая аудитория: те, кто работают с передачей данных по сети без привязки к языку программирования; те, кто программируют на Python; желающие разобраться с сетевым взаимодействием на низком уровне.

Скачать презентацию

Нина Пакшина

Нина Пакшина Московский клуб программистов