OkHttpClient是否可以限制实时连接数?因此,如果达到限制,就不会选择并建立新的连接?
我的应用程序同时启动许多连接.
解决方法:
连接数是在Dispatcher中配置的,而不是在ConnectionPool中配置的,ConnectionPool仅允许配置最大空闲连接数和保持活动功能.
调度程序允许按主机配置连接数和最大连接数,默认值为每个主机5个,总共64个.对于HTTP / 1,这似乎很低,但是如果您使用HTTP / 2,则可以,因为可以将多个请求发送到一个连接.
要配置调度程序,请按照下列步骤操作:
Dispatcher dispatcher = new Dispatcher();
dispatcher.setMaxRequests(100);
dispatcher.setMaxRequestsPerHost(10);
OkHttpClient client = new OkHttpClient.Builder()
.dispatcher(dispatcher)
.build();