Питон - витая

{title}

В различных модулях сетевого программирования, которые существуют в Python, также есть компоненты, не включенные по умолчанию, и которые мы должны загрузить и установить, это не является чем-то необходимым для выполнения программ, однако иногда эти сторонние компоненты имеют много функций, которые Мы можем использовать это, чтобы облегчить жизнь, позволяя нам сосредоточиться только на логике нашей программы.
В рамках этих компонентов мы использовали Twisted от компании Twisted Matrix Laboratories. Этот компонент представляет собой среду, ориентированную на события сетевого программирования для Python, он изначально был разработан для видеоигр, однако в настоящее время он широко используется для всех типов сетевых программ.
Загрузка и установка Twisted
Установка Twisted очень проста, сначала мы должны загрузить версию библиотеки, которая нам нужна в зависимости от нашей системы, для этого мы можем зайти в Интернет по следующей ссылке: // twistedmatrix. com, найдя наиболее подходящую версию, как показано на следующем рисунке:

{title}


Если нам нужна более конкретная версия, мы можем перейти к подробному разделу загрузки, нажав на ссылку СКАЧАТЬ в верхней правой части сайта.
Как только мы получим нужную версию, мы можем установить ее, если мы используем Windows, установщик проведет нас шаг за шагом по требованиям, в случае, если это другая система, мы должны получить исходные коды и затем выполнить следующие действия в папке в который разархивирует файлы:
 Python setup.py установить 

Как только у нас будет все, мы можем начать использовать эту библиотеку для сборки наших программ.
Создание базового сервера
Сначала мы объясняли, что Twisted ориентирован на события, и здесь мы увидим это. При создании сервера с использованием библиотек сокетов Python мы должны объявить цикл, отвечающий за проверку новых соединений, в этом случае теперь мы будем обрабатывать события, которые будут управлять каждой из возникающих ситуаций.
События, которые мы должны предвидеть, это новое соединение, прием данных, отключение клиента и т. Д. Эти обработчики событий определены в протоколе, и указанному протоколу нужна фабрика, которая может создавать объекты событий, это может показаться странным, но теперь, когда мы видим код, все станет понятнее.
Давайте посмотрим ниже код, где мы пишем базовый сервер, используя Twisted:
 из twisted.internet импорт реактора из twisted.internet.protocol протокол импорта, заводской класс SimpleLogger (Protocol): def connectionMade (self): вывести «Получено соединение от», self.transport.client def connectionLost (self, reason): вывести self .transport.client, 'отключен' def dataReceived (self, data): фабрика данных печати = Factory () factory.protocol = SimpleLogger реактор.listenTCP (1234, фабрика) реактор.run () 

Первое, что мы делаем, это импортируем необходимые библиотеки и компоненты, в данном случае - реактор, протокол и фабрику, затем мы обрабатываем события внутри класса, например, когда у нас новое соединение, потерянное соединение и если мы получаем данные.
Мы создаем экземпляр Factory, который отвечает за создание необходимых объектов, мы указываем, что ваш протокол будет тем классом, который мы сделали, и, наконец, с реактором мы помещаем нашу программу для прослушивания порта; Как мы видим, это не сложно увидеть таким образом.

  • 0