Android CTS Geocode测试Unable to parse response f...

问题:
java.io.IOException: Unable to parse response from server at android.location.Geocoder.getFromLocation(Geocoder.java:136)

 首先,这个不是必现的
12-26 11:48:38.030  4457  4469 I TestRunner: passed: testGetFromLocation(android.location.cts.GeocoderTest)
12-26 11:48:38.205  4457  4469 I TestRunner: passed: testGetFromLocationName(android.location.cts.GeocoderTest)

12-26 11:51:03.520  5726  5738 I TestRunner: failed: testGetFromLocation(android.location.cts.GeocoderTest)
12-26 11:51:08.555  5726  5738 I TestRunner: failed: testGetFromLocationName(android.location.cts.GeocoderTest)

一次成功一次失败。

分析TCP网络数据包发现,
11:48:38及之前,数据包来回正常;
11:48:58之后,只有数据发送、没有数据应答,且出现连续Retransmission重发。如附图

其中
10.5.27.84是手机本端,74.125.128.104是服务端——谷歌的GEOCODE服务器。

这个的原因可能是当时网络异常(没有送达服务器、或者服务器的ACK不能返回到手机),或者服务器异常(服务器不响应请求)。

推测,后者的可能性比较大。原因是服务器端不认为第一次请求连接结束了,所以不响应第二次GEOCODE服务请求,需要手机端主动断开结束或者等待一段时间服务器端超时自动结束。

这个项服务在谷歌就是这么设计的,不要短时间连续测试GEOCODE就不会有这个问题。
个人认为可以关闭。

转载于:https://my.oschina.net/u/617626/blog/98442

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值