Çok oyunculu ağlarla ilgili birçok ihtiyacınız için Android'in Ağ Keşfi protokolleri gereken her şeyi sağlar ve beklendiği gibi çalışır. ChromeOS'te, oyununuzun yerel ağdaki eşlere gönderilen yayın paketlerine doğru şekilde yanıt almasını ve yerel ağdaki diğer eşler tarafından gönderilen yayın paketlerini almasını sağlamak için her iki yönde de yerleşik yayın yönlendirme özelliği bulunur.
ChromeOS'in mimarisi ve güvenlik kuralları nedeniyle, üzerinde çalıştığı ChromeOS cihazın IPv4 adresini bilmesi gereken bir Android uygulamasının (ör. adresi, aynı yerel ağda bulunan ChromeOS dışı istemcilerle istemciden istemciye çok oyunculu bir oyun aracılığı yapmak isteyen bir sunucuya iletmek için) bazı ek mantıklar uygulaması gerekir.
ChromeOS cihazın bağlandığı en yüksek öncelikli ağa atanan IPv4 adresini almak için android sistem özelliğini vendor.arc.net.ipv4.host_address ve gerekirse vendor.arc.net.ipv4.host_gateway inceleyin. Bunu yapmanın bir yolu:
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() }
Yerel ağda bu IPv4 adresine gönderilen trafik, ek NAT "delik açma" işlemine gerek kalmadan Android uygulamasına yönlendirilir. Bu IPv4 geçici çözümü hakkında daha fazla bilgi için bu Chromium sorununa bakın.
IPv6 ağlarında Android, ChromeOS'ten ayrı bir ağ adresi alır ve yerel IPv6 ağında bu adrese doğrudan bağlantıların, Android doğrudan yerel IPv6 ağına bağlıymış gibi çalışması beklenir.