जब मैं अपने Win10 IoT बोर्ड को वाईफाई से जोड़ता हूं, तो मैं macOS से इसके वेब इंटरफेस से कनेक्ट कर सकता हूं http://minwinpc.local:8080
। होस्टनाम का रिज़ॉल्यूशन मल्टीकास्ट डीएनएस के माध्यम से होता है, जैसा कि चलकर देखा जा सकता है dns-sd -q minwinpc.local.
।
Win10 IoT बोर्ड की ऑनबोर्डिंग के दौरान समान व्यवहार देखा जा सकता है। इस मोड में, एक एक्सेस प्वाइंट जैसे AJ_SoftAPSsid
बोर्ड द्वारा विज्ञापित किया जाता है। इसे कनेक्ट करने के बाद, एक बार और, dns-sd -q minwinpc.local.
अपने आईपी में हल हो जाता है, और http://minwinpc.local:8080
मैकओएस से ठीक काम करने के लिए उपयोग होता है ।
चीजें दिलचस्प हो जाती हैं, हालांकि, जब मैं Win10 IoT बोर्ड को मैन्युअल रूप से सॉफ्टएप मोड में सेट करता हूं, उदाहरण के लिए कस्टम यूडब्ल्यूपी ऐप का उपयोग करके (पॉवर्सशेल के माध्यम से, मुझे सीधे होस्टन नेटवर्क्स का उपयोग करने का तरीका नहीं मिला है, यह केवल वाईफाई डायरेक्ट का समर्थन करता है)।
WiFiDirectAdvertisementPublisher^ p;
p = ref new WiFiDirectAdvertisementPublisher();
p->Advertisement->ListenStateDiscoverability =
WiFiDirectAdvertisementListenStateDiscoverability::Intensive;
p->Advertisement->IsAutonomousGroupOwnerEnabled = true;
p->Advertisement->LegacySettings->IsEnabled = true;
p->Advertisement->LegacySettings->Ssid = L"My-SSID";
PasswordCredential^ password = ref new PasswordCredential();
password->Password = L"123456789";
p->Advertisement->LegacySettings->Passphrase = password;
p->Start();
फिर मैं ऐप को ऑटोस्टार्ट ( iotstartup add headless
) और रिबूट में जोड़ता हूं ।
जब मैं सामान्य वाईफाई का उपयोग करके डिवाइस तक पहुंचता हूं, तो सब कुछ पहले की तरह ही व्यवहार करता है। हालाँकि, जब मैं कस्टम सॉफ्टएप से जुड़ता हूं, तो मैं अब पते को हल नहीं कर सकता, क्योंकि मल्टीकास्ट डीएनएस अब विज्ञापन नहीं करता है। दिलचस्प है, अगर मैं एक समर्पित विंडोज क्लाइंट (एक मैक पर वीएम नहीं) का उपयोग करता हूं, तो मैं अभी भी http://minwinpc.local:8080
और दोनों का उपयोग कर सकता हूं http://minwinpc:8080
। MSDN लेख में जुड़े हुए के अनुसार https://stackoverflow.com/a/45619667 , इस अपेक्षित व्यवहार ( [...] इसके अलावा, SoftAP DNS रिज़ॉल्यूशन प्रदान नहीं करता है। [...] )
DNS रिज़ॉल्यूशन वापस पाने के लिए एक समाधान ICS चालू करना है। जब मैं IoT विंडोज डिवाइस पोर्टल से ऐसा करता हूं, तो रिबूट करें, और सॉफ्टओएस को macOS के साथ मिलाएं, वास्तव में मुझे DNS सर्वर के रूप में 192.168.137.1 (IoT बोर्ड) मिलता है। मुझे भी सर्च डोमेन मिलता है mshome.net
।
ICS चालू होने के साथ, व्यवहार दो तरह से बदलता है:
• सबसे पहले, यूनिकैस्ट डीएनएस अब काम करने लगता है (यूनिकस्ट डीएनएस पहले काम नहीं कर रहा था, न तो शुरुआती AJ_SoftAPSsid
वाईफाई पर और न ही नियमित वाईफाई पर)।
dig minwinpc.local. @192.168.137.1
;; QUESTION SECTION:
;minwinpc.local. IN A
;; ANSWER SECTION:
minwinpc. 0 IN A 192.168.137.1
minwinpc. 0 IN A 172.20.10.7
इसके अतिरिक्त, minwinpc.mshome.net.
विज्ञापन भी किया जाता है।
;; QUESTION SECTION:
;minwinpc.mshome.net. IN A
;; ANSWER SECTION:
minwinpc.mshome.net. 0 IN A 192.168.137.1
इसका मतलब है कि मैं अब http://minwinpc.mshome.net:8080
macOS से एक्सेस कर सकता हूं । इसका यह भी अर्थ है कि मैं http://minwinpc.local:8080
VMware में विंडोज से पहुंच सकता हूं । दोनों प्लेटफार्मों के लिए, मैं भी उपयोग कर सकता हूं http://minwinpc:8080
क्योंकि खोज डोमेन इसे स्वचालित रूप से रीडायरेक्ट कर रहा है http://minwinpc.mshome.net:8080
।
हालाँकि, यहाँ बड़ी समस्या यह है कि http://minwinpc.local:8080
यह macOS से काम नहीं करता है, इसका कारण यह है कि .local
डोमेन को मल्टीकास्ट डीएनएस के माध्यम से नियंत्रित किया जाता है।
• ICS के साथ दूसरा बदलाव मल्टीकास्ट DNS के बारे में है। वास्तव में, dns-sd -q minwinpc.mshome.net.
आईसीएस के साथ हल होता है, लेकिन फिर dns-sd -q minwinpc.local.
भी यह बिल्कुल भी काम नहीं करता है।
जब मैं अपनी खुद की सेवा के साथ पंजीकृत करता हूं DnssdServiceInstance
, हालांकि, यह डोमेन पर विज्ञापित हो जाता है local.
, जब dns-sd -B _mycustom._tcp
इसके बजाय ब्राउज्ड किया जाता है mshome.net.
।
जब मैं सेवा को सौंपे गए नाम को हल करता हूं dns-sd -L myname _mycustom._tcp
, हालांकि, मुझे minwinpc.local.
डोमेन मिलता है , हालांकि ^ _ ^ myname._mycustom._tcp.local. can be reached at minwinpc.local.:12345 (interface 5)
:।
जो समस्याग्रस्त है, क्योंकि minwinpc.local.
मल्टीकास्ट डीएनएस ( minwinpc.mshome.net.
इसके बजाय) में ठीक से विज्ञापन नहीं किया गया है, और local.
डोमेन के लिए मैकोस द्वारा यूनिकैस्ट डीएनएस का पालन नहीं किया जाता है ।
अंततः, यह सब इस सवाल से उब जाता है:
- सॉफ्टएफ़ इंटरफ़ेस पर मैं स्थानीय मल्टीकास्ट डीएनएस कैसे काम कर सकता हूं?
मल्टीकास्ट डीएनएस शुरुआती AJ_SoftAPSsid
ऑनबोर्डिंग नेटवर्क पर ठीक काम करता है , और अगर मैं बोर्ड को अपने मैकबुक के समान वाईफाई से जोड़ता हूं तो यह ठीक काम करता है। यह बिना ICS के सॉफ्टएप पर काम नहीं करता है। आईसीएस के साथ, यह एक अलग डोमेन पर विज्ञापन करता है local
।
अस्वीकरण: कृपया ध्यान दें कि ये सभी चरण मौजूदा Win10 IoT के साथ एक प्रकार की परतदार हैं। बहुत धैर्य और रीबूटिंग की आवश्यकता होती है। साथ ही, रिज़ॉल्यूशन प्रक्रिया के साथ खिलवाड़ से बचने के लिए मैकबुक को वाईफाई के अलावा ईथरनेट के माध्यम से नहीं जोड़ा जाना चाहिए।