2014-05-13 22 views
14

Windows (một số hương vị hiện đại) có cài đặt và/hoặc chạy máy chủ mDNS theo mặc định? Nếu vậy thì làm thế nào để nói với nó, tốt nhất là động, để bắt đầu/ngừng quảng cáo một dịch vụ mới?Dịch vụ mDNS tiêu chuẩn trên Windows

Nếu không có tiêu chuẩn thì cách xử lý vấn đề xung đột khi cố gắng chạy nhiều máy chủ mDNS trong môi trường đó?

Về cơ bản, tôi muốn triển khai một dịch vụ sẽ chạy trên Linux, Windows và Mac OS X và cần phải quảng cáo vị trí máy chủ web zeroconf của mình bằng mDNS. Trên Linux tôi chỉ sử dụng avahi-publish (hoặc cài đặt một tập tin cấu hình). Tôi đoán rằng câu trả lời sẽ đơn giản cho OS X. Tôi đang đấu tranh để tìm thông tin cho Windows.

Trả lời

4
0

Câu trả lời ngắn gọn là để hỗ trợ cả hai Avahi và Bonjour. Bạn sẽ cần hỗ trợ Bonjour để chạy trên OSX, và nếu người dùng Windows đã cài đặt iTunes, họ sẽ chạy nó.

Là một dự phòng cho người dùng Windows không chạy iTunes, bạn có thể biên dịch Avahi làm thư viện cho Windows (với một chút nỗ lực) và gói nó lại. Đây là một chút không quan trọng của bao bì, nhưng thay thế là yêu cầu người dùng Windows của bạn để cài đặt iTunes để sử dụng ứng dụng của bạn.

+1

Avahi và Bonjour là các triển khai được cấp phép khác nhau của cùng một giao thức. https://en.wikipedia.org/wiki/Avahi_(software)#Avahi_vs._Bonjour – Matt

9

Bắt đầu với Windows 10, Microsoft dường như thực hiện các bước tiến đối với triển khai Windows gốc của mDNS và dns-sd.

lặp đầu tiên của họ dẫn đến mDNS network flooding:

Windows 10, trong cấu hình mặc định của nó, sẽ thư rác mạng cục bộ của nó bằng cách trả lời cho tất cả các yêu cầu với gói tin phản hồi vô mDNS.

Và theo dõi:

Vấn đề này đã được cố định trong Windows 10 1511 (10.586) trở lên

gần đây được xây dựng có những cải tiến nhìn thấy ở khắp mọi nơi và Windows hiện nay cung cấp một dns-sd service discovery library .

Các vấn đề liên quan