Twisted

Материал из PythonWiki.

Перейти к: навигация, поиск

Содержание

Введение

Twisted представляет из себя пакет, который позволяет создавать асинхронные (или событийно-управляемые) сетевые приложения и разрабатывается компанией Twisted Matrix Labs. Twisted превосходно подходит как для разработки клиентских приложений так и для создания серверов. В данном решении Twisted Matrix Labs уже реализовала ряд протоколов таких как POP3, IMAP, FTP, HTTP, SSH и много других, которые распространяются в открытом коде, как и сам Twisted. Несмотря на то что в Twisted сделан акцент на асинхронную однопоточную обработку запросов в пакете существуют инструменты и для создания многопоточных приложений.

Установка

Запуск

Ссылки

Примеры

Минимальная программа

01-minimal.py

#!/usr/local/bin/python
# -*- coding: koi8_r -*-

from twisted.internet import reactor

# запуск реактора
# прервать работу реактора можно нажав Ctrl+C или послав процессу один из
# сигналов: SIGINT, SIGBREAK, SIGTERM
reactor.run()

01-minimal.tac

# -*- coding: koi8_r -*-

# создание приложения
from twisted.application.service import Application
application = Application('Tutorial #01')

Настройка протокола

02-log.py

#!/usr/local/bin/python
# -*- coding: koi8_r -*-

import sys
from twisted.python import log
from twisted.internet import reactor

# настройка протоколирования
# я буду использовать такую настройку во всех примерах
f = log.FileLogObserver(sys.stdout)
f.timeFormat = '%H:%M:%S'
log.startLoggingWithObserver(f.emit)

# запуск реактора
reactor.run()

02-log.tac

# -*- coding: koi8_r -*-

# настройка формата времени выводимого в протоколе
# я буду использовать такую настройку во всех примерах
from twisted.python import log
log.FileLogObserver.timeFormat='%H:%M:%S'

# создание приложения
from twisted.application.service import Application
application = Application('Tutorial #02')


bw 2007-04-13

Личные инструменты