我已经通过改造进行了一些 REST 调用,可以访问我本地 WiFi 网络上的本地 IP 地址,在移动端工作得很好,但是一旦在独立的穿戴应用程序上我有这个错误:
java.net.SocketTimeoutException: connect timed out
10-08 14:50:00.154 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.net.PlainSocketImpl.socketConnect(Native Method)
10-08 14:50:00.154 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)
10-08 14:50:00.154 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
10-08 14:50:00.154 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
10-08 14:50:00.154 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.net.Socket.connect(Socket.java:605)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.platform.AndroidPlatform.connectSocket(AndroidPlatform.java:63)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:223)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:149)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:195)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:211)
10-08 14:50:00.155 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at com.mylisabox.network.interceptors.HostSelectionInterceptor.intercept(HostSelectionInterceptor.kt:33)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at com.mylisabox.network.interceptors.TokenInterceptor.intercept(TokenInterceptor.kt:25)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at okhttp3.RealCall.execute(RealCall.java:69)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:41)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.Observable.subscribe(Observable.java:10903)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.Observable.subscribe(Observable.java:10903)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.Single.subscribe(Single.java:2700)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at hu.akarnokd.rxjava2.debug.SingleOnAssembly.subscribeActual(SingleOnAssembly.java:41)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.Single.subscribe(Single.java:2700)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:452)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
10-08 14:50:00.156 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
10-08 14:50:00.157 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
10-08 14:50:00.157 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
10-08 14:50:00.157 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
10-08 14:50:00.157 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
10-08 14:50:00.157 1804-1804/com.mylisabox.lisa E/HomeViewModel$onRefresh: at java.lang.Thread.run(Thread.java:761)
如果我用在线地址替换本地 IP 地址,它也可以在手表上正常工作。在移动应用程序上没问题,我可以正确访问本地或远程相同的 URL。两台设备都在同一个 WiFi 网络下。任何想法 ?