我有一个应用程序,它对我编写的REST Web服务进行了大量调用。我一般都注意到,当我添加SSL时,网络呼叫从<1秒到3秒执行。添加SSL时这是正常的吗?我用Droid,HTC Thunderbolt和三星平板电脑测量了时间(全部在Verizon上)。
真正的疯狂是: 每当在TMobile网络(Comet和Nexus)上使用电话时,这些相同的呼叫(通过HTTP)每个需要30-40秒。如果我删除SSL,那些相同的调用就像其他设备一样采用&lt; 1s。有关为什么TMobile设备上的SSL出现此问题的任何线索?我很难过?
代码:
String url = BASE_URL + path;
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter("http.socket.timeout", new Integer(30000));
httpclient.getParams().setParameter("setSocketBufferSize", 8192);
HttpPost httppost = new HttpPost(url);
httppost.addHeader("Content-Type", "text/json");
InputStream istream = null;
try {
httppost.setEntity(new StringEntity(request.toString()));
HttpResponse response = httpclient.execute(httppost);
istream = response.getEntity().getContent();
String result = IOUtils.toString(istream);
...