问题:
java.io.IOException: Unable to parse response from server at android.location.Geocoder.getFromLocation(Geocoder.java:136) java
首先,这个不是必现的,
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) android
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不能返回到手机),或者服务器异常(服务器不响应请求)。 spa
推测,后者的可能性比较大。缘由是服务器端不认为第一次请求链接结束了,因此不响应第二次GEOCODE服务请求,须要手机端主动断开结束或者等待一段时间服务器端超时自动结束。 设计
这个项服务在谷歌就是这么设计的,不要短期连续测试GEOCODE就不会有这个问题。
我的认为能够关闭。 code