Фреймворк Twisted
Twisted — це асинхронний фреймворк, написаний на Python з використанням патерну проектування Reactor, для швидкої розробки мережевих (і не тільки) сервісів.
from twisted.internet import protocol, reactor
class Echo(protocol.Protocol):
def dataReceived(self, data):
self.transport.write(data)
class EchoFactory(protocol.Factory):
def buildProtocol(self, addr):
return Echo()
reactor.listenTCP(1234, EchoFactory())
reactor.run()
У цьому прикладі ми створюємо клас Echo, який перевизначає метод dataReceived (викликається щоразу, коли сервер отримує дані від клієнта).
Потім ми створюємо клас EchoFactory, який перевизначає метод buildProtocol (викликається щоразу, коли сервер приймає нове з'єднання).
Нарешті ми використовуємо реактор Twisted для прослуховування вхідних з'єднань на порту 1234 і запускаємо реактор.
#Twisted // #theory // Python
Twisted — це асинхронний фреймворк, написаний на Python з використанням патерну проектування Reactor, для швидкої розробки мережевих (і не тільки) сервісів.
from twisted.internet import protocol, reactor
class Echo(protocol.Protocol):
def dataReceived(self, data):
self.transport.write(data)
class EchoFactory(protocol.Factory):
def buildProtocol(self, addr):
return Echo()
reactor.listenTCP(1234, EchoFactory())
reactor.run()
У цьому прикладі ми створюємо клас Echo, який перевизначає метод dataReceived (викликається щоразу, коли сервер отримує дані від клієнта).
Потім ми створюємо клас EchoFactory, який перевизначає метод buildProtocol (викликається щоразу, коли сервер приймає нове з'єднання).
Нарешті ми використовуємо реактор Twisted для прослуховування вхідних з'єднань на порту 1234 і запускаємо реактор.
Коли клієнт підключається до сервера та надсилає дані, сервер відправляє ці дані назад клієнту.
#Twisted // #theory // Python