有没有办法将 okhttp 客户端绑定到特定的网络类型?

kos*_*tas 5 vpn android wifi retrofit okhttp

我有一个项目,我使用 Retrofit 和 RxJava 进行网络调用,使用 Dagger2 进行依赖注入。

我有两个 Retrofit 实例和两个不同的 RestClient,因为我想与两个接口进行通信,一个通过 WiFi,一个通过 VPN(使用 https)。

问题是,当我关闭手机的 WiFi(然后重新打开它)时,Android 会以某种方式选择 VPN 接口而不是 WiFi,因此需要通过 WiFi 发送的呼叫会以 TimeoutException 结束。

有没有办法将我的两个不同的 okhttpclient 与特定的网络类型绑定(例如定义传输类型或功能)?

谢谢你!