2012-01-25 10 views
11

Ağda Bonjour etkin aygıtları arayabilen bir C programı yazmak istiyorum.Bonjour ağdaki cihazları nasıl keşfeder?

Temelde bir Ağ IP Kameramız var, Bonjour protokolünü destekliyor. Bonjour etkin olan bu cihazları arayabilen C dilinde API yazmak istiyorum. Bunu nasıl yapmalıyım konusunda örnek kod veya öneriler var mı? İstediğiniz gibi

cevap

7

Aşağıdaki bağlantılar, bazı kod örnekleri sağlar:

mDNSResponder

Alıntılar mDNSPosix/ReadMe.txt dan:

mDNSPosix Apple'ın Noktaya Yayın DNS ve DNS hizmeti bir liman Posix platformlarına Discovery kodu.

Çok noktaya yayın DNS ve DNS Hizmet Bulma, IP tabanlı hizmetleri kaydetmenize ve bu hizmetleri için ağa göz atmanıza olanak veren teknolojilerdir.

Ambalaj Listesi: - Çekirdek mDNS kodunu içeren bir dizin mDNSCore O

:

örnek aşağıdaki dizinleri kullanılır. Bu kod
, salt ANSI C'de yazılmıştır ve çok portatif olduğu kanıtlanmıştır. Her platformunun bu temel protokol motoru koduna ihtiyacı vardır. mDNSShared o

- bir ana protokol motoru kapsadığı çekirdek değil yararlı kodu içeren dizin, ama yine de faydalı ve
birden fazla (fakat tamamı değil), platformları tarafından kullanılabilir.

o mDNSPosix - Posix platformlara özgü dosyalar: vb Linux Solaris, FreeBSD NetBSD, OpenBSD, o onun birincil amacı olmasa da bu kod,
OS X üzerinde çalışacak.

o İstemciler - API'nin nasıl kullanılacağını gösteren örnek istemci kodu, arka planın sağladığı
hizmetlerine. Eğer derlemek Numune ---------------- kullanma

, alırsınız: Genel amaçlı kullanım için Ana ürünler o

(örneğin bir masaüstü bilgisayar): - mDNSd servisini - nss_mdns (özel cihazlar (yazıcı, ağ kamerası, vb Kendi başına çalışan o nss_mdns hakkında önemli bilgiler)

için nss_ReadMe.txt bakın - libmdns) - mDNSClientPosix - mDNSResponderPosix - mDNSProxyResponderPosix

Test ve hata ayıklama araçları o

- "Müşteriler" klasöründen dns-sd komut satırı aracı() - mDNSNetMonitor - mDNSIdentify

SDWrap

BeniOku:

Zeroconf ürünle verilen adres ve bağlantı noktalarıyla bazı komutları yürütmek için oldukça basit bir sarıcı uygulaması. hizmet keşif için wxWidgets ve wxServDisc kullanır ...

İyi şanslar!

+0

Saygı cevabınız için teşekkür ederiz. Ancak verilen bağlantıda, ağdaki bonjour cihazlarını aramak için kullanabileceğim herhangi bir kaynak kodu bulamadım. –

+1

Platformunuz için [ReadMe.txt] (https://github.com/jevinskie/mDNSResponder/blob/2942dde61f920fbbf96ff9a3840567ebbe7cb1b6/mDNSPosix/ReadMe.txt) okudunuz mu? Alıntı: "Derleme yaptığınızda, şunları alacaksınız: Özel cihazlar için bağımsız ürünler (yazıcı, ağ kamerası, vb.)" Kaynak kodun hızlı bir şekilde okunmasını sağladım. Yoğun bir şekilde yorumlanmıştır ve ReadMe'yi belirli bir platform için kılavuz olarak kullanmak için zaman ayırırsanız tam olarak aradığınızı bulursunuz. – Totoro