Области применения сокетов

oblasti primeneniya soketov Системные инструменты параллельного выполнения

Примеры в этом разделе иллюстрируют основную роль сокетов как механизма IPC, но они не дают полного представления о практической ценности сокетов. Несмотря на то, что они могут работать лишь со строками байтов, совсем не трудно вообразить области возможного их применения. Приложив небольшие усилия, например:

     Через сокеты можно передавать произвольные объекты Python, такие как списки и словари (или, по крайней мере, их копии), сериализуя их в строки байтов с помощью модуля pickle, который был представлен в главе 1 и подробно рассматривается в главе 17.

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

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

     Интернет в целом можно рассматривать, как область применения сокетов — как мы увидим в главе 12, в самом конце, электронная почта, FTP и веб-страницы — это просто форматированные строки байтов, доставляемые через сокеты.

Плюс любые другие ситуации, когда необходимо организовать обмен данными между программами, — сокеты являются универсальным, переносимым и гибким инструментом. Например, они могут играть ту же роль, что и каналы fifo в примере с графическим интерфейсом для отладчика, приведенным выше, но при этом сокеты могут использоваться в Windows и позволили бы даже подключать графический интерфейс к отладчику, выполняющемуся на другом компьютере. В силу этого они оцениваются многими как более мощный инструмент IPC.

Повторю еще раз, что вы должны рассматривать этот раздел лишь как краткий обзор. Более полный охват сокетов подразумевает знакомство с сетевыми концепциями, поэтому мы отложим более детальное изучение API сокетов до главы 12. Кроме того, мы встретимся с сокетами в главе 10, где будем исследовать возможность перенаправления потоков ввода-вывода графического интерфейса, о которой говорилось выше, и познакомимся с различными дополнительными областями их применения в части книги, посвященной программированию для Интернета. В четвертой части, например, мы будем использовать сокеты для передачи целых файлов и создадим более надежные серверы, порождающие потоки выполнения или процессы для обмена данными с клиентами, чтобы избежать ситуации отказа в обслуживании. А теперь, продолжая тему этой главы, перейдем к еще одному, последнему инструменту IPC, — к сигналам.

Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011

Оцените статью
Секреты программирования
Добавить комментарий