Питонисты в курсе, что есть такая чудо библиотека для работы с сетевыми протоколами как Twisted. Она немного сложна поначалу, но после просветления становится совершенно необходимым инструментом.
В стандартной поставке с ней идет множество уже реализованных протоколов — IMAP, XMPP, HTTP (в сочетании с обработкой URL и какой-нибудь библиотекой шаблонов весьма полезный инструмент) и т.д. Количество же протоколов, которые реализованы на/для Twisted не поддается подсчету.
Среди стандартных протоколов нашел SIP — последний раз обновлялся 3 года назад, есть проект VoIP телефона Shtoom, который также заглох. Но тем не менее вот вам регистратор на Twisted:
И что удивительнее всего — он работает. На досуге хочется попробовать сделать простейший SIP-телефон, будет интересно. Назову его Shtoom ressurection, он не будет обладать даже функциями предшественника, и сдохнет на версии -0.1, ожидайте!
Для домашнего чтения — блог Андрея Смирнова. Мне нравится именно эта ссылка, так как новички часто проскакивают тему Deferred, и очень зря — без нее писать с использованием Twisted тяжело.
В стандартной поставке с ней идет множество уже реализованных протоколов — IMAP, XMPP, HTTP (в сочетании с обработкой URL и какой-нибудь библиотекой шаблонов весьма полезный инструмент) и т.д. Количество же протоколов, которые реализованы на/для Twisted не поддается подсчету.
Среди стандартных протоколов нашел SIP — последний раз обновлялся 3 года назад, есть проект VoIP телефона Shtoom, который также заглох. Но тем не менее вот вам регистратор на Twisted:
#!/usr/bin/env python
# coding: utf-8
from twisted.application import internet, service
import sip
DOMAIN='192.168.9.5'
application = service.Application("JuzzCallBack")
sip.RegisterProxy.registry = sip.InMemoryRegistry(DOMAIN)
sip.RegisterProxy.locator = sip.RegisterProxy.registry
sip.RegisterProxy.debug = True
proxy = internet.UDPServer(5060,sip.RegisterProxy())
proxy.setServiceParent(application)
И что удивительнее всего — он работает. На досуге хочется попробовать сделать простейший SIP-телефон, будет интересно. Назову его Shtoom ressurection, он не будет обладать даже функциями предшественника, и сдохнет на версии -0.1, ожидайте!
Для домашнего чтения — блог Андрея Смирнова. Мне нравится именно эта ссылка, так как новички часто проскакивают тему Deferred, и очень зря — без нее писать с использованием Twisted тяжело.