2012-01-25 71 views
11

我想寫一個C程序,可以在網絡上搜索Bonjour已啓用的設備。bonjour如何在網絡上發現設備?

基本上我們有一臺網絡攝像機,它支持Bonjour協議。我想在C中編寫API來搜索啓用了Bonjour的設備。有沒有人有我應該怎麼做的示例代碼或建議?

回答

7

以下鏈接提供了一些代碼樣本,爲你的要求:

mDNSResponder

行情從mDNSPosix/ReadMe.txt中:

mDNSPosix是蘋果的多播DNS和DNS服務的端口發現 代碼到Posix平臺。

組播DNS和DNS服務發現是允許您註冊基於IP的服務並瀏覽網絡以查找那些 服務的技術。

包裝清單:

該示例使用以下目錄:

ömDNSCore - 包含核心的mDNS代碼目錄。此代碼
是用純C語言編寫的,並且已被證明非常便攜。每個 平臺都需要這個核心協議引擎代碼。

ömDNSShared - 包含有用的代碼,這不是核心 主協議引擎本身的目錄,但仍然是有用的,並且通過
多於一個(但不一定是所有)平臺上使用。

ØmDNSPosix - 特定於POSIX平臺的文件:Linux上, 的Solaris,FreeBSD的,NetBSD的,OpenBSD系統等,這代碼也將在
OS X工作,雖然這不是它的主要目的。

o客戶端 - 示例客戶端代碼顯示如何將API用於由守護程序提供的服務

使用樣本 ----------------當你編譯,您將獲得:

O主產品爲一般用途(例如在桌面上計算機): - mdnsd - libmdns - nss_mdns(參見nss_ReadMe.txt有關nss_mdns重要信息)

ö獨立產品爲專用設備(打印機,網絡攝像機, 等) - mDNSClientPosix - mDNSResponderPosix - mDNSProxyResponderPosix

Ø測試和調試工具 - DNS-SD命令行工具(從 「客戶」 文件夾) - mDNSNetMonitor - mDNSIdentify

SDWrap

自述文件:

非常簡單的包裝應用程序執行一些命令與Zeroconf 提供的地址和端口。使用wxWidgets和wxServDisc進行 服務發現...

祝你好運!

+0

感謝您的回覆。但是在給定的鏈接中,我找不到任何可用於在網絡上搜索bonjour設備的源代碼。 –

+1

您是否閱讀過您的平臺的[ReadMe.txt](https://github.com/jevinskie/mDNSResponder/blob/2942dde61f920fbbf96ff9a3840567ebbe7cb1b6/mDNSPosix/ReadMe.txt)? Quote:「當你編譯,你會得到:獨立產品的專用設備(打印機,網絡攝像頭等)」 我做了一個快速通讀的源代碼。它受到了很多評論,如果您花時間爲特定平臺使用自述文件作爲指南,我想您會發現您正在尋找的內容。 – Totoro