Подтвердить что ты не робот

Реализация клиента Python UPnP/IGD?

Я ищу реализацию с открытым исходным кодом UPnP клиента в Python, а точнее его Устройство интернет-шлюза (IGD).

В настоящее время я смог найти решения UPnP Media Server в таких проектах, как PyMediaServer, PyMedS, BRisa или Coherence.

Я уверен, что смогу использовать эти базы кода в качестве запуска, но часть Media Server добавит ненужную сложность.

Итак, можете ли вы рекомендовать библиотеку Python для клиента UPnP (и, надеюсь, IGD)? Альтернативой будет отправка вызовов в библиотеку C, например MiniUPnP, но я бы предпочел бы чистую реализацию Python.

Обновление: интересное, родственное обсуждение SSDP и UPnP доступно на qaru.site/info/420852/....

4b9b3361

Ответ 1

Исходный код MiniUPnP содержит пример кода Python с использованием библиотеки C в качестве модуля расширения (см. testupnpigd.py), который я считаю правильным решением моей проблемы.

Обоснование: это не чистое решение Python, которое я искал, но:

  • В эту библиотеку уже вложены значительные усилия,
  • он легковес (он не касается проблем с Media Server),
  • IGD обычно используется только при настройке соединения, поэтому не интегрировать его с кодом Python не представляется проблемой,
  • в качестве бонуса он также обеспечивает реализацию NAT-PNP (Apple одновременно с IGD, часть Bonjour).

Ответ 2

Я думаю, вам стоит по-настоящему рассмотреть BRisa. Недавно он стал чистым python UPnP Framework, не ориентированным только на Media Server.

Он предоставляет множество пользовательских модулей и функций для создания и развертывания вашего устройства UPnP.

В проекте также отсутствует обратная связь:-). Я предлагаю вам использовать последний svn-код, если вы хотите попробовать BRisa.

Вы также можете связаться с разработчиками на #brisa на irc.freenode.org, мы либо в сети, либо на холостом ходу.