У меня есть несколько устройств в сети. Я пытаюсь использовать библиотеку для обнаружения присутствия и itentity этих устройств с помощью Python script, все устройства имеют веб-службу. Мой вопрос: есть ли какие-либо модули, которые помогли бы мне с этой проблемой, поскольку единственным модулем, который я нашел, является ws-discovery для Python?
И если это единственный модуль, у кого-нибудь есть пример Python script с использованием ws-discovery?
Спасибо за любую помощь.
К сожалению, я никогда не использовал ws-discovery самостоятельно, но, похоже, проект Python реализует его: http://code.google.com/p/python-ws-discovery/
Из их документации здесь приведен краткий пример того, как ее использовать:
wsd = WSDiscovery()
wsd.start()
ttype = QName("abc", "def")
ttype1 = QName("namespace", "myTestService")
scope1 = Scope("http://myscope")
ttype2 = QName("namespace", "myOtherTestService_type1")
scope2 = Scope("http://other_scope")
xAddr = "localhost:8080/abc"
wsd.publishService(types=[ttype], scopes=[scope2], xAddrs=[xAddr])
ret = wsd.searchServices()
for service in ret:
print service.getEPR() + ":" + service.getXAddrs()[0]
wsd.stop()
Вы привязаны к ws-открытию? Если нет, вы можете рассмотреть протокол Bonjour, например, ZeroConf и DNS-SD. Протокол относительно широко реализован. Я никогда не использовал python для рекламы или обнаружения, но есть проект, который реализует API: http://code.google.com/p/pybonjour/
Как я уже сказал, у меня нет прямого опыта работы с этим проектом и просто укажите его как альтернативу ws-обнаружению.
service.getXAddrs()[0]
чтобы получить xaddress первого сервиса и т. Д. Спасибо за помощь в любом случае