Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 250

Publish: norwegian forest wears a bowler

Publish: maine coon wears a bowler

Подписчик выведет на экран все, что он запросил и получил:

Subscribe: persian wears a stovepipe

Subscribe: maine coon wears a tam-o-shanter

Subscribe: maine coon wears a stovepipe

Subscribe: persian wears a stovepipe

Subscribe: maine coon wears a bowler

Другие инструменты для организации подхода

публикации-подписки

Вам могут пригодиться следующие ссылки.

 RabbitMQ. Это широко известный брокер сообщений, Python API для него на-

зывается pika. Обратитесь к документации для pika (http://pika.readthedocs.org/)

и обучению работе с механизмом публикации — подписки (http://bit.ly/pub-sub-tut).

 pypi.python.org. В правом верхнем углу окна поиска введите pubsub, чтобы най-

ти пакеты для Python вроде pypubsub (http://pubsub.sourceforge.net/).

322

Глава 11. Конкуренция и сети

 Pubsubhubbub. Этот протокол со сладкозвучным именем позволяет подписчи-

кам зарегистрировать функции обратного вызова для публикаторов (https://

code.google.com/p/pubsubhubbub/).

TCP/IP

Мы бродили по дому работы с сетями, принимая за данность, что все, что находит-

ся в подвале, работает корректно. Теперь заглянем в подвал и посмотрим на про-

вода и трубы, благодаря которым наверху все работает.

Интернет основан на правилах, по которым создаются соединения, идет обмен

данными, закрываются соединения, обрабатывается истечение срока действия и т. д.

Эти правила называются протоколами, и они упорядочены в слои. Цель существо-

вания слоев заключается в том, чтобы дать путь инновациям и альтернативным

способам выполнения задач. Вы можете делать все что угодно в рамках одного слоя

до тех пор, пока следуете соглашениям, связанным с работой с более низкими

и более высокими слоями.

Самый нижний слой управляет такими аспектами, как электрические сигналы,

каждый более высокий слой базируется на нижних. Примерно в середине находит-

ся свой IP (Internet Protocol, интернет-протокол), на котором определяется, как

адресуются локации сети и как перемещаются пакеты (фрагменты) данных. На слое,

который располагается выше его, два протокола описывают, как перемещать байты

между локациями.

 UDP (User Datagram Protocol, протокол датаграмм пользователя). Использу-

ется для обмена небольшим объемом данных. Датаграмма — это небольшое

сообщение, которое отправляется целиком.

 TCP (Transmission Control Protocol, протокол управления передачей). Этот

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

ляются потоки байтов, он гарантирует, что они придут по порядку и без дупли-

каций.

Для сообщений, отправляемых по протоколу UDP, подтверждение не требует-

ся, поэтому вы никогда не можете быть уверены в том, что они придут в точку

назначения. Если бы вы хотели рассказать шутку по протоколу UDP, это выгля-

дело бы так:

Вот шутка про UDP. Дошло?