Python UPnP / IGDクライアントの実装?
-
08-07-2019 - |
質問
Pythonの UPnP クライアントのオープンソース実装を探しています。具体的には、 インターネットゲートウェイデバイス(IGD)パーツ。
今のところ、 PyMediaServer などのプロジェクトで、UPnP Media Serverの実装のみを見つけることができました。 、 PyMedS 、 BRisa または Coherence
これらのコードベースを開始として使用できると確信していますが、Media Serverの部分は不必要な複雑さをもたらします。
では、クライアントUPnP(できればIGD)Pythonライブラリを推奨できますか?別の方法として、 MiniUPnP などのCライブラリへの呼び出しをディスパッチすることもできますが、純粋なPythonの方がずっと好きです。実装。
更新:SSDPとUPnPの興味深い、関連する議論が StackOverflow 。
解決
MiniUPnPソースコードには、Cライブラリを拡張モジュールとして使用するPythonサンプルコードが含まれています( testupnpigd.py
を参照)。これは私の問題の適切な解決策と考えています。
理由:これは私が探していた純粋なPythonソリューションではありませんが、:
- このライブラリにはすでに多大な努力が注がれています
- 軽量である(Media Serverの問題に対処しない)、
- IGDは通常、接続のセットアップでのみ使用されるため、Pythonコードと緊密に統合しなくても問題にはなりません。
- ボーナスとして、NAT-PNP実装( Bonjour )。
他のヒント
BRisaを本当に検討すべきだと思います。最近、純粋なpython UPnPフレームワークになりました。MediaServerのみに焦点を当てていません。
UPnPデバイスを構築および展開するための多数の実用的なモジュールと機能を提供します。
プロジェクトにもフィードバックがありません:-)。 BRisaを試してみたい場合は、最新のsvnコードを使用することをお勧めします。
#brisa irc.freenode.orgの開発者に連絡することもできます。オンラインまたはアイドリングのいずれかです。