0

我有一个客户端,它使用 android-annotations 的 RestClient 通过 http 不断与服务器通信。

每次应用程序长时间打开并发出大量请求时,新的 http 请求都会超时,没有结果,服务器端也没有错误。关闭应用程序并再次打开它可以解决所有问题。

我不太确定,但我猜它与以下参数有关:

HttpClient client = new HttpClient();
client.setConnectorType(HttpClient.CONNECTOR_SELECT_CHANNEL);
client.setMaxConnectionsPerAddress(200); // max 200 concurrent connections to every address
client.setThreadPool(new QueuedThreadPool(250)); // max 250 threads
client.setTimeout(30000); // 30 seconds timeout; if no server reply, the request expires
client.start();

所以,我的问题是,在限制 200 之后会发生什么maxConnectionsPerAddress?这可能是我的网络连接在太多请求后挂起的原因吗?如果是这样,我可以简单地增加这个数字还是这样做有任何性能问题?

4

0 回答 0