Я знаю, что новейшие выпуски Android позволяют автоматически восстанавливать соединение для передачи данных через 4G, когда сеть Wi-Fi не обеспечивает подключение к Интернету.
Я хотел бы использовать это поведение в следующем сценарии:
Смартфон Android 8 подключен к соединению WiFi, которое не подключено к Интернету
Смартфон подключен к Интернету с помощью подключения для передачи данных 4G
Я хочу, чтобы мое приложение отправляло и получало многоадресные пакеты по сети WiFi.Я попробовал следующее:
MulticastSocket clientSocket = new MulticastSocket(1900);
clientSocket.setInterface(getFirstWiFiAddress()); // here I set the InetAddress of the Wifi card
clientSocket.joinGroup(InetAddress.getByName("239.255.255.250"));
clientSocket.send(sendPacket);
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket); // <--- Timeout Error (Only happens if 4G is enabled)
Я не могу понять, почему эта ошибка происходит только при включенном 4G.Как я могу преодолеть эту проблему?
В основном мне нужно запустить Wi-Fi камеру (у нее есть собственная сеть Wi-Fi, где она передает пакеты SSDP) при подключении к Интернету.