mDNS, Multicast DNS'dir; bu DNS ana bilgisayarların geleneksel DNS sunucusu olmadan birbirlerini keşfetmesini ve iletişim kurmasını sağlar ve kullanılan port5353, DNS protokolünü takip edin ve mevcut DNS bilgi yapısı, sözdizimi ve kaynak kayıt türlerini kullanın. Ve yeni bir eylem kodu veya yanıt kodu belirtilmiyor. LAN'da, cihaz ve cihaz birbirleriyle iletişim kurmadan önce birbirlerinin IP adresini bilmeleri gerekir, çoğu durumda cihazın IP'si statik bir IP adresi değil, DHCP protokolü üzerinden dinamik olarak atanan bir IP adresidir; cihazı nasıl bulursa, becerilerini MDNS ile göstermektir; örneğin: Şimdi Nesnelerin İnterneti cihazı ile uygulama arasındaki iletişim, ya uygulama yayın yoluyla ya da çoklu yayın aracılığıyla, belirli bilgiler gönderir, ilgili cihaz yanıt verir, LAN cihazlarının keşfini sağlar, elbette mDNS bundan daha güçlüdür.
Hizmet kaydı
Öncelikle, yeni bir .NET Core 3.1 projesi oluşturun ve nuget komutunu kullanarak aşağıdaki pakete referans verin:
Mevcut hizmet adı ve adresi, aşağıdaki kodla yayın yoluyla keşfedilir:
Hizmet Keşfi
.NET/C# kodu ile sağlanabilecek hizmet keşfi şu şekildedir:
Tüm yayınları almak için hizmet keşifini de etkinleştirebilirsiniz, kod şu şekildedir:
Sunucu: CentOS Linux sürüm 7.8.2003 (Çekirdek), avahi ve avahi-tools araçları yüklenerek hizmet de keşfedilebilir, kurulum komutu şu şekildedir:
avahi-daemon, bir Linux işletim sisteminde çalışan ve bir istemci makinede ağ tabanlı bir Zeroconf hizmeti için bir arama uygulayan bir hizmet daemonudur. Bu hizmet, Zeroconf ağı için DNS servis keşfi ve DNS çoklu yayın spesifikasyonlarını uygulayabilir. Kullanıcı programı, keşfedilen ağ hizmetleri ve kaynakları hakkında bildirimleri Linux D-Bus mesajlaşma yoluyla alır. Bu daemon, kullanıcı program yanıtlarını önbellekleyerek yanıtlardan kaynaklanan ağ trafiğini azaltmaya yardımcı olur. Avahi-daemon.service hizmetini aşağıdaki komutla çalıştırın:
Avahi-tools yükledikten sonra avahi-browse komutunu kullanabilirsiniz.
LAN'deki tüm MDNS servislerini aşağıdaki komutla görebilirsiniz:
Belirli bir hizmeti sorgulamak için komut şöyledir:
.NET Core uygulamasını kapatıp başka bir sunucuda hizmeti sorgulatırsanız, aşağıdaki hata bildirilecektir:
+ eth0 IPv4 testi _itsvse_discovery._tcp local 'Local' alanında '_itsvse_discovery._tcp' tipindeki servis 'testi' çözülemedi: Zaman aşımına ulaşıldı
Ekte kaynak kodu bulunmaktadır:
Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfen Yanıt
(Son)
|