pybonjour.Pybonjour fornece uma interface pitona pura (via ctypes) para a Apple Bonjour e as bibliotecas DNS-SD compatíveis (como avahi). | |
Baixe Agora |
pybonjour. Classificação e resumo
Propaganda
- Licença:
- MIT/X Consortium Lic...
- Preço:
- FREE
- Nome do editor:
- Chris Stawarz
- Site do editor:
- http://o2s.csail.mit.edu/o2s-wiki/multitask
pybonjour. Tag
pybonjour. Descrição
Pybonjour fornece uma interface pitona pura (via ctypes) para a Apple Bonjour e as bibliotecas DNS-SD compatíveis (como a Avahi). Pybonjour fornece uma interface pitona pura (via ctypes) para a Apple Bonjour e as bibliotecas DNS-SD compatíveis (como a Avahi). O aplicativo permite que os scripts do Python aproveitem a rede de configuração zero (Zeroconf) para registrar, descobrir e resolver serviços em ambos Redes locais e de área ampla.Descer Pybonjour é implementado em ptyton puro, scripts que usam podem ser facilmente portados para o Mac OS X, Windows, Linux e outros sistemas que executam Bonjour.examplesthe seguindo scripts estão incluídos no diretório Exemplos do Distribuição de fonte de pybonjour. Registrando um Serviceregister.py scriptimport selectimport sysimport pybonjourname = sys.argv regype = sys.argv porta = int (sys.argv ) def registe_callback (sdref, sinaliza, error, name, regype, domínio) : Se oRRORCODE == PYBONJOUR.KDNSSSERVICERAR_NOERROR: Imprimir 'Serviço Registrado:' Imprimir 'Nome =', Nome Imprimir 'RegType =', RegType Imprimir 'Domínio =', Domainsdref = Pybonjour.dnsserviceregister (nome = nome, regype = regype, porta = Porta, Callback = Register_Callback) Tente: Enquanto TRUE: Pronto = Select.Seleccione (, [], []) Se SDREF em pronto : Pybonjour.dnsserviceprocessresult (SDREF) exceto tecladoInterrupt: SDREF .CLOSE () Exemplo de saída $ Python Register.py testservice _test._tcp 1234Registered Service: Nome = testservice regype = _test._tcp. Domínio = local.Browsing para e resolvendo serviçosbrowse_and_resolve.py scriptimport selectimport sysimport pybonjourregtype = sys.argv timeout = 5resolved = [] def resolução_callback (sdref, sinaliza, interfaceindex, errorcode, porta, txtrecord): se errorcode == Pybonjour.kdnsserviceerr_noerror: Imprimir 'serviço resolvido:' imprimir 'fullname =', fullname imprimir 'hosttarget =', hosttarget Imprimir 'porta =', porta resolvido.apend (true) def browse_callback (SDREF, interfaceindex, errorcode Servicename, RegType, ReplyDomain): Se ErrorCode! = Pybonjour.Kdnsserviceerr_noerror: Retornar se não (sinalizadores e pybonjour.kdnsserviceflagsadd): Imprimir 'serviço removido' return Print 'Service adicionado; Resolving 'Resolve_sdref = pybonjour.dnsserviceresolve (0, interfaceindex, servicename, regype, replydomain, resolve_callback) tente: Enquanto não resolvido: pronto = select.select (, [], [], tempo limite) se resolve_sdref não em pronto : Imprimir 'Resolver' Outoned Out 'Break Pybonjour.dnsserviceprocessresult (Resolve_sdref) Else: Resolved.pop () Finalmente: Resolve_sdref.Close () Browse_sdref = Pybonjour.dnsservicebrowse (regype = regype, callback = browse_callback) TENTE: Enquanto TRUE : Pronto = Select.Seleccione (, []) Se Browse_sdref em pronto : Pybonjour.dnsserviceprocessresult (Browse_sdref), exceto teclaboardInterrupt: passfinally: browse_sdref.close () Exemplo de saída $ python browse_and_resolve.py _test. _tcpservice adicionado; ResolvingResolved Service: Fullname = testservice._test._tcp.local. hosttarget = bumble.local. Port = 1234 ... Requisitos: · Python> = 2.4 · CTYPES (versão 1.0.1 ou posterior)
pybonjour. Software Relacionado