2012-01-25 18 views
11

Bonjour有効なデバイスをネットワーク上で検索できるCプログラムを作成したいと思います。どのようにネットワーク上のデバイスを検出できますか?

基本的に私たちはネットワークIPカメラを持っており、Bonjourプロトコルをサポートしています。 Bonjourが有効になっているこれらのデバイスを検索できるAPIをC言語で記述したいと思います。誰にでもサンプルコードや提案がありますか?

答えて

7

あなたが要求したとして、以下のリンクは、いくつかのコードサンプルを提供します。mDNSPosix /のReadMe.txtから

mDNSResponder

引用:

mDNSPosixは、AppleのマルチキャストDNSおよびDNSサービスのポートです。ディスカバリー Posixプラットフォームへのコード。

マルチキャストDNSとDNSサービスの検出は、 がIPベースのサービスを登録し、それらのサービスのネットワークを参照できるようにする技術です。

パッキングリスト: - コアのmDNSコードを含むディレクトリmDNSCore O

サンプルは次のディレクトリを使用します。このコード
は、純粋なANSI Cで書かれており、非常に移植性が高いことが証明されています。すべて プラットフォームには、このコアプロトコルエンジンコードが必要です。 mDNSShared O

- メインプロトコルエンジン自体をコアない有用なコードを含むディレクトリ、それでも有用と
つ以上の(必ずしも全てではない)プラットフォームによって使用されます。

O mDNSPosix - のPosixプラットフォームに固有のファイル:などのLinux、Solarisの 、FreeBSDの、NetBSDの、OpenBSDの、それはその主な目的ではないのですけれども、このコードはまた、
OS X上で動作します。

クライアント - デーモンによって提供される
サービスへのAPIの使用方法を示すクライアントコードの例。コンパイルサンプル ----------------を使用して

、あなたが取得します:汎用使用のための主な製品O

(例えばデスクトップ上コンピューター): - mdnsd - libmdns - nss_mdns(nss_mdnsに関する重要な情報については、nss_ReadMe.txtを参照してください)

専用機器(プリンタ、ネットワークカメラ、 などのためスタンドアロン製品O) - mDNSClientPosix - mDNSResponderPosix - mDNSProxyResponderPosix

Oのテストとデバッグツール - DNS-SDコマンドラインツール( "クライアント" フォルダから) - mDNSNetMonitor - mDNSIdentify

SDWrap

ReadMe:

Zeroconf で指定されたアドレスとポートでコマンドを実行するための非常に単純なラッパーアプリです。 サービスの検出のためにwxWidgetsとwxServDiscを使用します...

幸運を祈る!

+0

お返事ありがとうございます。しかし、与えられたリンクでは、ネットワーク上のBonjourデバイスを検索するために使用できるソースコードが見つかりませんでした。 –

+1

お使いのプラットフォームの[ReadMe.txt](https://github.com/jevinskie/mDNSResponder/blob/2942dde61f920fbbf96ff9a3840567ebbe7cb1b6/mDNSPosix/ReadMe.txt)を読んでいますか?引用:「コンパイルすると、専用のデバイス(プリンタ、ネットワークカメラなど)用のスタンドアロン製品」 私はソースコードをすばやく読んだ。それは大いにコメントされています。特定のプラットフォーム用にReadMeを使用する時間があれば、あなたが探しているものを正確に見つけることができるでしょう。 – Totoro

関連する問題