0
我正在使用OkHTTP客戶端訪問HTTP/2服務器。我有一個用例,我想通過同一連接打開多個流。如何在OKHttp客戶端連接中明確打開多個數據流
我正在使用以下代碼創建OkHTTP客戶端。
ConnectionPool connectionPool = new ConnectionPool(5,
CONNECTION_POOL_TIMEOUT_MILLISECONDS, TimeUnit.MILLISECONDS);
return new OkHttpClient.Builder()
.connectTimeout(5,TimeUnit.SECONDS)
.writeTimeout(5, TimeUnit.SECONDS)
.readTimeout(5, TimeUnit.SECONDS)
.connectionPool(connectionPool)
.build();
此客戶端可以在連接池中有5個打開的連接。 現在我想讓以下使用上述客戶端的請求,
okHttpClient.newCall(request1.build()).execute()
okHttpClient.newCall(request2.build()).execute()
而且我想這些請求視爲在同一連接一個獨立的流,而不是一個新的連接。我怎樣才能做到這一點?
謝謝傑西的回答。我只想更多地瞭解這一資格標準。如果你能指出我的文檔或代碼來實現這個邏輯,那將是非常好的。此外,我正在使用JDK-8(-Xbootclasspath)的ALPN。 – shantanu
有關符合條件的文檔相當有限。有一個[堆棧溢出問題](https://stackoverflow.com/a/44600875/40013)就是這樣。一個挑戰是資格標準是隨着時間推移而變化的實施細節:在Java 9證明後,未來版本可能會降低ALPN支持。連接可能會發生,我們可以提高覆蓋率。 –