بالنسبة إلى العديد من احتياجات الشبكات المتعددة اللاعبين، من المفترض أن توفّر بروتوكولات ميزة "اكتشاف الشبكة" في Android كل ما تحتاج إليه وأن تعمل على النحو المتوقّع. يتضمّن ChromeOS أيضًا ميزة إعادة توجيه البث المضمّنة في كلا الاتجاهين لضمان تلقّي لعبتك الردود بشكل صحيح على حِزم البث المُرسَلة إلى الأجهزة الأخرى على الشبكة المحلية، وتلقّي حِزم البث المُرسَلة من الأجهزة الأخرى على الشبكة المحلية.
بسبب بنية ChromeOS وقواعد الأمان فيه، سيحتاج تطبيق Android الذي يحتاج إلى معرفة عنوان IPv4 لجهاز ChromeOS الذي يتم تشغيله عليه، على سبيل المثال من أجل إرسال العنوان إلى خادم يريد التوسط في لعبة متعددة اللاعبين بين الأجهزة التي لا تعمل بنظام التشغيل ChromeOS والموجودة داخل الشبكة المحلية نفسها، إلى تنفيذ بعض العمليات الإضافية.
للحصول على عنوان IPv4 المخصّص للشبكة ذات الأولوية القصوى التي يتصل بها جهاز ChromeOS، افحص خاصية نظام Android vendor.arc.net.ipv4.host_address، وإذا لزم الأمر، vendor.arc.net.ipv4.host_gateway. إليك إحدى طرق إجراء ذلك:
fun getChromeOsIpAddress() : String { val process = ProcessBuilder().command("/system/bin/getprop", "vendor.arc.net.ipv4.host_address").start() val ipAddress = readInput(process.inputStream) return ipAddress } fun getChromeOsIpGateway() : String { val process = ProcessBuilder().command("/system/bin/getprop", "vendor.arc.net.ipv4.host_gateway").start() val gatewayAddress = readInput(process.inputStream) return gatewayAddress } fun readInput(inputStream: InputStream) : String { val bufferedReader = BufferedReader(InputStreamReader(inputStream)) val stringBuilder = StringBuilder() var line: String? = null while (bufferedReader.readLine().also({ line = it}) != null) { stringBuilder.append(line).append('\n') } return stringBuilder.toString() }
سيتم توجيه الزيارات المُرسَلة إلى عنوان IPv4 هذا على الشبكة المحلية إلى تطبيق Android، بدون الحاجة إلى أي "ثقوب" إضافية في NAT. لمزيد من المعلومات حول هذا الحلّ البديل لعنوان IPv4، يُرجى الاطّلاع على مشكلة Chromium هذه.
على شبكات IPv6، يتلقّى Android عنوان شبكة خاصًا به منفصلاً عن ChromeOS، ومن المتوقّع أن تعمل الاتصالات المباشرة على شبكة IPv6 المحلية من هذا العنوان وإليه كما لو كان Android متصلاً مباشرةً بشبكة IPv6 المحلية.