java.io.IOException: unexpected end of stream on Connection异常解决

 <-- HTTP FAILED: java.io.IOException: unexpected end of stream on Connection{public-access.gacicv.com:443, proxy=DIRECT@ hostAddress=public-access.gacicv.com/139.199.92.218:443 cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 protocol=http/1.1}
05-23 10:16:51.955 W/System.err(  992): java.io.IOException: unexpected end of stream on Connection{public-access.gacicv.com:443, proxy=DIRECT@ hostAddress=public-access.gacicv.com/139.199.92.218:443 cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 protocol=http/1.1}
05-23 10:16:51.956 D/GCS_b   (  992): (BridgeInterceptor.java:84)load all of cookie ForRequest
05-23 10:16:51.956 W/System.err(  992):     at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)
05-23 10:16:51.957 D/WifiStateMachine(  732): calculateWifiScore freq=5745 speed=156 score=60 highRSSI  -> txbadrate=0.00 txgoodrate=17.56 txretriesrate=0.00 rxrate=57.90 userTriggerdPenalty0
05-23 10:16:51.957 W/System.err(  992):     at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
05-23 10:16:51.957 D/GCS_b   (  992): (b.java:0)cookie Name:IOV_ACCOUNT_SESSIONID : 82cb8693-dd7e-47de-b1f5-a35c1635063d path/
05-23 10:16:51.957 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
05-23 10:16:51.958 W/System.err(  992):     at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
05-23 10:16:51.958 D/GCS_b   (  992): (b.java:0)cookie Name:usersig : AAAAENMc0emtRSwU5jY6A1ZjgiQ5ZqV3USHxN/pF/slcHtzGcZ183Q+VYloriXNpDcxJ0MMpEfn8p4HmCc4HZRUalXdYAfR+g9binhDXIuN0uDzTn+PUBsjsCGBkXeSnpHF3Pn8B55t7l09OwMwLBZ4mAPJBDofYQy1aWQyWlslquYhT1NLvJYoUxgXOA6AHh9aB6rG1tfnaep6kbRtCHyi29AXzmD45bucMyYOGSIpvrhsQnLKSSkyS8cpXb1E770oZgQN7jPYdE9Vdw79O8u5MyYOlHMEpPq/U6qxOIbMovZVa path/
05-23 10:16:51.958 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
05-23 10:16:51.958 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
05-23 10:16:51.958 D/GCS_b   (  992): (b.java:0)cookie Name:userid : 144115205364735127 path/
05-23 10:16:51.959 W/System.err(  992):     at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
05-23 10:16:51.959 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
05-23 10:16:51.960 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
05-23 10:16:51.960 D/WifiStateMachine(  732):  good link -> stuck count =0
05-23 10:16:51.960 W/System.err(  992):     at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
05-23 10:16:51.961 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
05-23 10:16:51.961 W/System.err(  992):     at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
05-23 10:16:51.962 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
05-23 10:16:51.963 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
05-23 10:16:51.968 E/_AccountSDK_( 3387): [h](WeCarBaseSDK.java:498):startSDK
05-23 10:16:51.975 W/System.err(  992):     at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:225)
05-23 10:16:51.976 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
05-23 10:16:51.976 W/System.err(  992):     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
05-23 10:16:51.976 W/System.err(  992):     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
05-23 10:16:51.977 W/System.err(  992):     at okhttp3.RealCall$AsyncCall.execute(RealCall.java:200)
05-23 10:16:51.977 W/System.err(  992):     at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
05-23 10:16:51.978 W/System.err(  992):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
05-23 10:16:51.978 W/System.err(  992):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
05-23 10:16:51.978 W/System.err(  992):     at java.lang.Thread.run(Thread.java:818)

出现以上: unexpected end of stream on Connection{public-access.gacicv.com:443, proxy=DIRECT@ hostAddress=public-access.gacicv.com/139.199.92.218:443 cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 protocol=http/1.1}。

原因:客户端和服务器通过TCP协议进行连接,第一次请求成功后,客户端复用了原来的连接,但服务器此时已经处在TCP连接中的FIN_WAIT2状态,因此连接不成功。

修复方案,直接上源码,改了绝对解决问题:

把retryOnConnectionFailure()设置成true,或者保持okhttpClient默认设置(即删除这个设置,默认是true)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值