OkHttpClient limit number of connections?

前端 未结 2 725
小鲜肉
小鲜肉 2021-01-17 14:58

Is it possible with OkHttpClient to limit the number of live connections? So if limit reached, no new connection is picked and established?

My app start

2条回答
  •  梦毁少年i
    2021-01-17 15:33

    The number of connections is configurable in the Dispatcher, not in the ConnectionPool that only allows to configure the max idle connections and the keep alive functionality.

    The dispatcher allows to configure the number of connections by hosts and the max number of connections, defaults are 5 per hosts and 64 in total. This can seems low for HTTP/1 but are OK if you use HTTP/2 as multiple requests can be send to one connection.

    To configure the dispatcher, follow these steps :

    Dispatcher dispatcher = new Dispatcher();
    dispatcher.setMaxRequests(100);
    dispatcher.setMaxRequestsPerHost(10);
    OkHttpClient client = new OkHttpClient.Builder()
        .dispatcher(dispatcher)
        .build();
    

提交回复
热议问题