OkHttp3 - 使用特定本地地址时出现 SocektTimeoutException

发布于 2025-01-19 00:59:22 字数 2031 浏览 0 评论 0原文

我在使用Overriten socketFactory的情况下使用okhttp3客户端有问题。 I' ve implemented my custom SocketFactory in the same way it is implemented

一些请求有效,但是大多数情况下,当我尝试执行http请求时,我会收到错误:

java.net.sockettimeoutexception:连接时间 at Java.base/java.net.plainsocketimpl.socketConnect(本机方法) 在java.base/java.net.abstractplainsocketimpl.doconnect(AbstractPlainSocketImpl.java:399) 在java.base/java.net.abstractplainsocketimpl.connectToAddress(AbstractPlainSocketImpl.java:242) 在java.base/java.net.abstractplainsocketimpl.connect(AbstractPlainSocketImpl.java:224) 在java.base/java.net.sockssocketimpl.connect(sockssocketimpl.java:392) 在java.base/java.net.socket.connect(socket.java:609) at Okhttp3.internal.platform.platform.connectsocket(platform.kt:120) 在okhttp3.internal.connection.realconnection.connectsocket(realconnection.kt:295) at Okhttp3.internal.connection.RealConnection.Connect(realConnection.kt:207) 在okhttp3.internal.connection.exchangefinder.findConnection(ExchangeFinder.kt:226) 在okhttp3.internal.connection.exchangefinder.findhealthyconnection(ExchangeFinder.KT:106) 在Okhttp3.internal.connection.exchangefinder.find(ExchangeFinder.KT:74) 在Okhttp3.internal.connection.realcall.initexchange $ okhttp(realcall.kt:255) 在okhttp3.internal.connection.connectinterceptor.intercept(ConnectInterceptor.kt:32) 在okhttp3.internal.http.realinterceptorchain.proceed(realinterceptorchain.kt:109) at Okhttp3.internal.cache.cacheinterceptor.intercept(cacheinterceptor.kt:95) 在okhttp3.internal.http.realinterceptorchain.proceed(realinterceptorchain.kt:109) 在okhttp3.internal.http.bridgeinterceptor.intercept(BridgeInterceptor.kt:83) 在okhttp3.internal.http.realinterceptorchain.proceed(realinterceptorchain.kt:109) 在okhttp3.internal.http.retryandfollowupintector.intercept(retryandFollowUpInterceptor.kt:76) 在Okhttp3.internal.http.RealInterceptorChain.proceed(realinterceptorchain.kt:109)

有人知道问题在哪里吗?

我已经检查了我的本地接口是否具有与网络的连接,其中一些请求正常工作,所以我想问题不在这里。我希望每一个HTTP请求都没有错误。

I have problem with using OkHttp3 client with overriten SocketFactory. I' ve implemented my custom SocketFactory in the same way it is implemented here

Some of the requests works, but most of the times when I try to execute http request I get error:

java.net.SocketTimeoutException: connect timed out
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.base/java.net.Socket.connect(Socket.java:609)
at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:120)
at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)

Does anyone knows where the problem is?

I've check that my local interface has connection to network, some of the request works fine so I guess problem is not here. I expect every single http request to work without errors.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文