এমুলেটর বহুমুখী নেটওয়ার্কিং ক্ষমতা প্রদান করে যা আপনি আপনার অ্যাপের জন্য জটিল মডেলিং এবং পরীক্ষার পরিবেশ সেট আপ করতে ব্যবহার করতে পারেন। এই পৃষ্ঠাটি এমুলেটর নেটওয়ার্ক আর্কিটেকচার এবং ক্ষমতার সাথে পরিচয় করিয়ে দেয়।
প্রতিটি ইনস্ট্যান্সের জন্য ভার্চুয়াল রাউটার 10.0.2/24 নেটওয়ার্ক অ্যাড্রেস
স্পেস ম্যানেজ করে।
- রাউটার দ্বারা ম্যানেজ করা সব অ্যাড্রেস
10.0.2.xxফর্ম্যাটে থাকে, যেখানেxxহল একটি সংখ্যা।
নিচের সারণীতে দেখানো হয়েছে যে কীভাবে এই স্পেসের মধ্যে থাকা অ্যাড্রেস এমুলেটর বা রাউটার দ্বারা আগে থেকে বরাদ্দ করা হয়:
| নেটওয়ার্ক অ্যাড্রেস | বর্ণনা |
|---|---|
| 10.0.2.1 | রাউটার বা গেটওয়ে অ্যাড্রেস |
| ১০.০.২.২ | আপনার হোস্ট লুপব্যাক ইন্টারফেসের বিশেষ অ্যালিয়াস (আপনার ডেভেলপমেন্ট মেশিনে 127.0.0.1) |
| ১০.০.২.৩ | প্রথম ডিএনএস সার্ভার |
| 10.0.2.4, 10.0.2.5, 10.0.2.6 | ঐচ্ছিক দ্বিতীয়, তৃতীয় ও চতুর্থ ডিএনএস সার্ভার |
| 10.0.2.15 | ইথারনেট ব্যবহার করে কানেক্ট করা হলে এমুলেট করা ডিভাইস নেটওয়ার্ক |
| ১০.০.২.১৬ | ওয়াই-ফাই ব্যবহার করে কানেক্ট করা হলে এমুলেট করা ডিভাইস নেটওয়ার্ক। |
| 127.0.0.1 | এমুলেট করা ডিভাইস লুপব্যাক ইন্টারফেস |
ওয়াই-ফাই ছাড়াও, ইথারনেট ব্যবহার করে কানেক্ট করা হলে, সব চালু থাকা এমুলেটর ইনস্ট্যান্সের মাধ্যমে
একই অ্যাড্রেস অ্যাসাইনমেন্ট ব্যবহার করা হয়। এর অর্থ হল, আপনার মেশিনে একই সাথে দুটি
ইনস্ট্যান্স চললে, প্রতিটির নিজস্ব রাউটার থাকবে,
এবং তার পিছনে, প্রতিটির একটি করে 10.0.2.15-এর IP অ্যাড্রেস থাকবে। ইনস্ট্যান্সগুলি একটি রাউটার দ্বারা বিচ্ছিন্ন এবং একই নেটওয়ার্কে একে অপরকে শনাক্ত করতে পারে না। TCP/UDP-এর মাধ্যমে এমুলেটর ইনস্ট্যান্সকে কীভাবে যোগাযোগ করতে দেওয়া যায় সেই সম্পর্কে তথ্যের জন্য,
ইন্টারকানেক্ট এমুলেটর ইনস্ট্যান্স দেখুন।
আপনার ডেভেলপমেন্ট মেশিনে 127.0.0.1 অ্যাড্রেসটি এমুলেটরের লুপব্যাক ইন্টারফেসের সাথে
সম্পর্কিত। আপনার ডেভেলপমেন্ট মেশিন লুপব্যাক ইন্টারফেসে চলা পরিষেবা অ্যাক্সেস করতে, পরিবর্তে বিশেষ ঠিকানা 10.0.2.2 ব্যবহার করুন।
এমুলেট করা ডিভাইসের আগে থেকে বরাদ্দ করা অ্যাড্রেস Android Emulator-এর জন্য নির্দিষ্ট এবং আসল ডিভাইসে আলাদা হতে পারে (যেগুলি নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেটেডও হতে পারে, বিশেষ করে রাউটার বা ফায়ারওয়ালের পিছনে)।
স্থানীয় নেটওয়ার্কিং সংক্রান্ত সীমাবদ্ধতা
এমুলেটরে চলা Android অ্যাপ আপনার ওয়ার্কস্টেশনে উপলভ্য নেটওয়ার্কে কানেক্ট করতে পারে। তবে, অ্যাপগুলি এমুলেটরের মাধ্যমে কানেক্ট হয়, সরাসরি হার্ডওয়্যারের সাথে নয় এবং এমুলেটর আপনার ওয়ার্কস্টেশনে একটি সাধারণ অ্যাপের মতো কাজ করে। এর ফলে কিছু সীমাবদ্ধতা দেখা দিতে পারে:
- আপনার মেশিনে চলা ফায়ারওয়াল প্রোগ্রামের মাধ্যমে এমুলেট করা ডিভাইসের সাথে যোগাযোগ ব্লক করা হতে পারে।
- আপনার মেশিন কানেক্ট করা আছে এমন অন্য কোনও (ফিজিক্যাল) ফায়ারওয়াল বা রাউটার, এমুলেট করা ডিভাইসের সাথে যোগাযোগ ব্লক করতে পারে।
এমুলেটরের ভার্চুয়াল রাউটার সব আউটবাউন্ড TCP ও UDP কানেকশন এবং এমুলেট করা ডিভাইসের জন্য মেসেজ ম্যানেজ করতে পারে, তবে আপনার ডেভেলপমেন্ট মেশিনের নেটওয়ার্ক এনভায়রনমেন্টকে এইসব কানেকশনের অনুমতি দিতে হবে। পোর্ট নম্বর বা রেঞ্জের উপর কোনও বিল্ট-ইন সীমাবদ্ধতা নেই, শুধুমাত্র আপনার হোস্ট অপারেটিং সিস্টেম এবং নেটওয়ার্ক দ্বারা আরোপিত সীমাবদ্ধতা প্রযোজ্য।
পরিবেশের উপর নির্ভর করে, এমুলেটর অন্যান্য প্রোটোকল যেমন ICMP, যা "পিং" করার জন্য ব্যবহৃত হয়, তাতে কাজ নাও করতে পারে। এমুলেটরে IGMP কাজ করে না। যেমন, ব্যবহারকারীরা লোকাল এরিয়া নেটওয়ার্কে হোস্ট মেশিন বা অন্যান্য ডিভাইসে পিং করার জন্য পিং কমান্ড ব্যবহার করতে পারবেন না।