Реализация клиента Python UPnP/IGD?
Я ищу реализацию с открытым исходным кодом UPnP клиент в Python, и более конкретно его Устройство Интернет-Шлюза (IGD) часть.
на данный момент я смог найти реализации UPnP Media Server только в таких проектах, как PyMediaServer, PyMedS, Бриса или последовательности.
Я уверен, что могу использовать эти базы кода в качестве начала, но медиа-сервер часть введет ненужную сложность.
Итак, вы можете рекомендовать библиотеку Python UPnP (и, надеюсь, IGD) клиента? Альтернативой может быть отправка вызовов в библиотеку C, такую как MiniUPnP, но я бы предпочел чистую реализацию Python.
Update: интересное, своего рода связанное обсуждение SSDP и UPnP доступно на StackOverflow.
2 ответов
исходный код MiniUPnP содержит образец кода Python, использующий библиотеку C в качестве модуля расширения (см. testupnpigd.py
), который я считаю правильным решением моей проблемы.
обоснование: это не чистое решение Python, которое я искал, но:
- значительные усилия уже были вложены в эту библиотеку,
- он легкий (он не решает проблемы с медиа-сервером),
- IGD обычно используется только при настройке соединения, поэтому не интеграция его плотнее с кодом Python не кажется проблемой,
- в качестве бонуса он также предоставляет реализацию NAT-PNP (Apple concurrent IGD, часть Бонжур).
Я думаю, что вы действительно должны рассмотреть BRisa. Недавно он стал чистой платформой Python UPnP, не ориентированной только на медиа-сервер.
Он предоставляет множество utilitary модулей и функций для построения и развертывания устройства UPnP.
в проекте также отсутствует обратная связь :-). Я предлагаю вам использовать последний код svn, если вы хотите попробовать BRisa.
вы также можете связаться с разработчиками на #brisa по адресу irc.freenode.org мы либо онлайн, либо холостой ход.