2008-11-16 39 views
12

Tôi đang tìm kiếm triển khai mã nguồn mở của ứng dụng khách UPnP bằng Python và cụ thể hơn là phần Internet Gateway Device (IGD) của nó.Python UPnP/IGD Khách hàng thực hiện?

Hiện tại, tôi chỉ có thể tìm thấy triển khai UPnP Media Server, trong các dự án như PyMediaServer, PyMedS, BRisa hoặc Coherence.

Tôi chắc chắn rằng tôi có thể sử dụng các cơ sở mã đó làm điểm khởi đầu, nhưng phần Media Server sẽ giới thiệu sự phức tạp không cần thiết.

Bạn có thể giới thiệu thư viện Python UPnP (và hy vọng là IGD) của khách hàng không? Một giải pháp thay thế là gửi các cuộc gọi tới thư viện C như MiniUPnP, nhưng tôi thích sử dụng Python thuần túy hơn.

Cập nhật: một thảo luận thú vị, có liên quan về SSDP và UPnP có sẵn trên StackOverflow.

Trả lời

7

Mã nguồn MiniUPnP chứa mã mẫu Python sử dụng thư viện C làm mô-đun mở rộng (xem testupnpigd.py), mà tôi coi là giải pháp thích hợp cho vấn đề của mình.

Lý do: đây không phải là giải pháp Python tinh khiết tôi đang tìm kiếm, nhưng:

  • nỗ lực đáng kể đã được đầu tư trong thư viện này,
  • đó là trọng lượng nhẹ (nó không giải quyết vấn đề Media Server IGD thường chỉ được sử dụng khi thiết lập kết nối, vì vậy không tích hợp nó chặt chẽ hơn với mã Python không có vẻ như là vấn đề,
  • làm tiền thưởng, nó cũng cung cấp thực hiện NAT-PNP (Apple đồng thời IGD, một phần của Bonjour).
2

Tôi nghĩ bạn nên xem xét BRisa. Nó gần đây đã trở thành một khung công tác UPnP trăn thuần túy, không chỉ tập trung vào Media Server.

Nó cung cấp rất nhiều mô-đun và chức năng tiện dụng để bạn xây dựng và triển khai thiết bị UPnP của mình.

Dự án cũng thiếu phản hồi :-). Tôi đề nghị bạn sử dụng mã svn mới nhất, nếu bạn sẵn sàng thử BRisa.

Bạn cũng có thể liên hệ với nhà phát triển trên #brisa tại irc.freenode.org, chúng tôi trực tuyến hoặc đang chạy không tải.

+0

Tôi đã dành thời gian nghiên cứu tài liệu của bạn, nhưng tôi đang tìm kiếm một thư viện mô-đun rất đơn giản. BRisa không cảm thấy như vậy IMHO. – oparisy

Các vấn đề liên quan