2012-02-14 25 views
6

Şu anda C++ (Artırmalı) arka ucu olan bir çapraz platform uygulaması (Win/OSX/iOS) üzerinde çalışıyorum. IOS ve OSX'te mDNS aracılığıyla gömülü bir cihaz bulmak için Cocoa Net Service Browser Delegate işlevlerini kullanıyorum, daha sonra bilgileri iletişim kurmak için gereken nesneleri oluşturmak üzere arka uça aktarıyorum.Windows üzerinde Bonjour/DNS-SD

Windows MFC ön uçumla benzer bir yaklaşım almak istedim ve tam olarak istediğimi yapan this makalesini buldum. Ancak, Bonjour SDK kullanarak bazı gerçekten kötü yan etkileri vardır - MFC statik bağlantı sizi zorluyor ve benim durumumda düzgün bir şekilde bağlantı kurmak için alabildiğim tek yolu, ideal değil debug DLL'leri kullanmaktır .

Bu yüzden, Bonjour SDK benim için hiç de iyi değil çünkü projemde çok fazla kısıtlama getiriyor. Kakao ile aslında çok az işlevselliği kullanıyorum - sadece didFindService ve netServiceDidResolveAddress gerçekten. Tek istediğim, belirli bir türdeki cihazları bulmak ve IP adreslerini almak.

Windows'da MFC ön uçlarıyla çalışacak başka bir yöntem önerilebilir mi?

cevap

8

Bu konudan araştırma yapabildiğim kadarıyla sadece http://www.opensource.apple.com/source/mDNSResponder/mDNSResponder-333.10/ kaynağından gelerek kaynağı yakala. Nasıl istediğinizi dll yapmanıza izin verecek bir VC proje dosyası var.

+0

Teşekkürler, işim bittiği şey bu. DLL'yi kaynaktan yaptım ve sistem DLL'si yerine buna bağlı. İdeal değil çünkü derlenmiş DLL'imi ürünle birlikte göndermem gerekecek, ancak Bonjour'un zaten kurulu olduğundan emin olmaktan kaçınıyor. Bu gerçekten utanç verici - OSX ve iOS'ta bu çok basit. – Redeye

+0

Önümüzdeki 6 ay içinde işler daha iyi olacak. Apple'ın iTunes'u bir Frankenstein'dan daha az yapmak ve senkronize etmek ve iCloud'a zorlamak için kod çıkarmak gibi bir araç gibi görünüyor. Hangisini bir kod temizlemeliyim, umarım. –

+2

Lütfen tarballların burada bulunduğunu unutmayın: http://www.opensource.apple.com/tarballs/mDNSResponder/ – Patrick

İlgili konular