Je cours dans un problème de routage des appels réseau en utilisant OkHttp. J'essaie d'envoyer des requêtes HTTP à un périphérique local (via l'adresse IP de l'appareil) en utilisant un point d'accès qui n'a pas d'accès Internet. En raison de certains changements dans Android 5.0, OkHttp va essayer de router la demande sur les données à la place, qui échoue ensuite.Android Lollipop Network API et OkHttp
Dans l'API réseau d'Android 5.0, je pourrais utiliser la classe NetworkCapabilities
avec le NetworkRequest.Builder
afin de dire à la demande de ne passer que par Wi-Fi. Cependant, j'utilise déjà OkHttp et je ne veux pas pour refondre mon code. Est-il possible de faire une chose similaire avec OkHttp?
Je ne sais pas comment j'utiliser la 'l'interface Dns' pour appeler à travers le réseau de mon choix, pourriez-vous me donner un exemple de utilise le? –
Implémentez l'interface et implémentez lookup() pour appeler getAllByName(). –
Désolé pour la réponse tardive, j'ai eu affaire à d'autres bugs sur l'application sur laquelle je travaille. Comme clarification, le nom d'hôte que je passe à 'OkHttpClient' est juste l'IP de l'appareil. Quand j'appelle getAllByName(), il retourne seulement un 'InetAddress'. Utiliser cette adresse seule n'a pas réglé le problème. Si je remplace le 'SocketFactory' je voudrais juste implémenter les méthodes pour créer un socket qui se connecte directement à l'ip, non? En quoi cela est-il différent du comportement par défaut d'OkHttp? –