इम्यूलेटर में कई तरह की नेटवर्किंग सुविधाएं उपलब्ध होती हैं. इनका इस्तेमाल करके, अपने ऐप्लिकेशन के लिए जटिल मॉडलिंग और टेस्टिंग एनवायरमेंट सेट अप किए जा सकते हैं. इस पेज पर, इम्यूलेटर के नेटवर्क आर्किटेक्चर और सुविधाओं के बारे में बताया गया है.
हर इंस्टेंस के लिए वर्चुअल राउटर, 10.0.2/24 नेटवर्क पते के स्पेस को मैनेज करता है.
- राउटर से मैनेज किए जाने वाले सभी पते
10.0.2.xxके फ़ॉर्मैट में होते हैं. यहांxxएक संख्या है.
यहां दी गई टेबल से पता चलता है कि इस स्पेस में पतों को एम्युलेटर या राउटर पहले से कैसे असाइन करता है:
| नेटवर्क का पता | ब्यौरा |
|---|---|
| 10.0.2.1 | राउटर या गेटवे का पता |
| 10.0.2.2 | आपके होस्ट लूपबैक इंटरफ़ेस (आपकी डेवलपमेंट मशीन पर 127.0.0.1) के लिए खास एलियास |
| 10.0.2.3 | पहला डीएनएस सर्वर |
| 10.0.2.4, 10.0.2.5, 10.0.2.6 | दूसरा, तीसरा, और चौथा डीएनएस सर्वर (ज़रूरी नहीं) |
| 10.0.2.15 | ईथरनेट का इस्तेमाल करके कनेक्ट किए जाने पर, डिवाइस के नेटवर्क को इम्यूलेट किया जाता है |
| 10.0.2.16 | वाई-फ़ाई का इस्तेमाल करके कनेक्ट किए जाने पर, यह इम्यूलेट किए गए डिवाइस का नेटवर्क होता है. |
| 127.0.0.1 | एम्युलेट किए गए डिवाइस का लूपबैक इंटरफ़ेस |
वाई-फ़ाई के अलावा, ईथरनेट का इस्तेमाल करके कनेक्ट किए जाने पर, सभी चालू एम्युलेटर इंस्टेंस के लिए एक ही पते का असाइनमेंट इस्तेमाल किया जाता है. इसका मतलब है कि अगर आपकी मशीन पर दो इंस्टेंस एक साथ चल रहे हैं, तो हर इंस्टेंस का अपना राउटर होगा. साथ ही, हर इंस्टेंस का आईपी पता 10.0.2.15 होगा. राउटर की मदद से इंस्टेंस को अलग किया जाता है. इसलिए, वे एक ही नेटवर्क पर एक-दूसरे का पता नहीं लगा सकते. इमुलेटर इंस्टेंस को टीसीपी/यूडीपी पर कम्यूनिकेट करने की अनुमति देने के तरीके के बारे में जानने के लिए, इमुलेटर इंस्टेंस को आपस में कनेक्ट करना लेख पढ़ें.
आपकी डेवलपमेंट मशीन पर मौजूद 127.0.0.1 पता, एम्युलेटर के लूपबैक इंटरफ़ेस से मेल खाता है. अपनी डेवलपमेंट मशीन के लूपबैक इंटरफ़ेस पर चल रही सेवाओं को ऐक्सेस करने के लिए, 10.0.2.2 पते का इस्तेमाल करें.
इमुलेट किए गए डिवाइस के पहले से तय किए गए पते, Android Emulator के लिए खास होते हैं. साथ ही, ये असली डिवाइसों पर अलग-अलग हो सकते हैं. असली डिवाइसों के नेटवर्क पते भी ट्रांसलेट किए जा सकते हैं. खास तौर पर, राउटर या फ़ायरवॉल के पीछे.
लोकल नेटवर्किंग से जुड़ी सीमाएं
एम्युलेटर पर चल रहे Android ऐप्लिकेशन, आपके वर्कस्टेशन पर उपलब्ध नेटवर्क से कनेक्ट हो सकते हैं. हालांकि, ऐप्लिकेशन सीधे तौर पर हार्डवेयर से कनेक्ट नहीं होते, बल्कि एम्युलेटर से कनेक्ट होते हैं. साथ ही, एम्युलेटर आपके वर्कस्टेशन पर एक सामान्य ऐप्लिकेशन की तरह काम करता है. इस वजह से, कुछ सीमाएं हो सकती हैं:
- ऐसा हो सकता है कि आपके कंप्यूटर पर चल रहा फ़ायरवॉल प्रोग्राम, इम्यूलेट किए गए डिवाइस के साथ कम्यूनिकेशन को ब्लॉक कर रहा हो.
- ऐसा हो सकता है कि आपके डिवाइस से कनेक्ट किए गए किसी अन्य (फ़िज़िकल) फ़ायरवॉल या राउटर ने, एम्युलेट किए गए डिवाइस के साथ कम्यूनिकेशन को ब्लॉक कर दिया हो.
एम्युलेटर का वर्चुअल राउटर, एम्युलेट किए गए डिवाइस के लिए सभी आउटबाउंड टीसीपी और यूडीपी कनेक्शन और मैसेज हैंडल कर सकता है. हालांकि, इसके लिए ज़रूरी है कि आपकी डेवलपमेंट मशीन का नेटवर्क एनवायरमेंट, इन कनेक्शन की अनुमति देता हो. पोर्ट नंबर या रेंज पर कोई भी सीमा पहले से तय नहीं होती. हालांकि, होस्ट ऑपरेटिंग सिस्टम और नेटवर्क की वजह से सीमाएं तय हो सकती हैं.
एम्युलेटर, एनवायरमेंट के हिसाब से अन्य प्रोटोकॉल के साथ काम नहीं कर सकता. जैसे, आईसीएमपी. इसका इस्तेमाल "पिंग" के लिए किया जाता है. एम्युलेटर, IGMP के साथ काम नहीं करता. उदाहरण के लिए, उपयोगकर्ता पिंग कमांड का इस्तेमाल करके, होस्ट मशीन या लोकल एरिया नेटवर्क पर मौजूद अन्य डिवाइसों को पिंग नहीं कर सकते.