2012-02-14 2 views
6

私は現在、バックエンドのC++(Boost付き)を持つクロスプラットフォームアプリケーション(Win/OSX/iOS)で作業しています。 iOSとOSXでは、mDNSを介して組み込み機器を発見し、バックエンドに情報を渡して通信する必要があるオブジェクトを作成するために、Cocoa Net Service Browser Delegate関数を使用しています。Windows上のBonjour/DNS-SD

Windows MFCのフロントエンドで同様のアプローチを取りたいと思っていましたが、私が欲しいと思っていたものがthisという記事が見つかりました。しかし、Bonjour SDKを使用すると、本当に厄介な副作用があるようです.MFCへの静的リンクを強制して、私の場合は正しくリンクするための唯一の方法は、デバッグDLLを使用しないことです。これは理想的ではありません。

Bonjour SDKは、私のプロジェクトに制限をかけすぎるため、実際にはまったく役に立たないものです。私は実際にはほとんど機能を使用していないココア - ちょうどdidFindServiceとnetServiceDidResolveAddressは本当に。私がしたいのは、特定のタイプのデバイスを見つけて、そのIPアドレスを取得することだけです。

WindowsでMFCフロントエンドで動作するこれを回避する方法は他にもありますか?

答えて

8

私はこのトピックを研究して収集することができただけで、http://www.opensource.apple.com/source/mDNSResponder/mDNSResponder-333.10/とソースを取得しました。あなたが望むようにdllを構築できるVCプロジェクトファイルがあります。

+0

ありがとうございました。私はソースからDLLを構築し、システムDLLの代わりにそのDLLにリンクしました。コンパイルされたDLLを製品と共に出荷しなければならないので、理想的ではありませんが、Bonjourが既にインストールされていることを確認する必要はありません。それは本当に残念だ - これはOSXとiOSでとても簡単だ。 – Redeye

+0

私は物事が今後6ヶ月程度で良くなると思っています。アップル社は、iTunesをFrankensteinの少ないものにし、同期などのコードを引き出し、iCloudにプッシュするツールを作っているようだ。うまくいけば、私はコードをクリーンアップする必要があります。 –

+2

タールボールはここから入手できます:http://www.opensource.apple.com/tarballs/mDNSResponder/ – Patrick