🌊

Android で QUIC を使おう!

2020/11/26に公開

あまり知られてないみたいなのですが、最近の Android には QUIC が実装されています。

というわけで、 Android で QUIC を使って通信を行う サンプル を作成してみました。

で苦労して作ったんですが、このサンプルよりももっと簡単な使い方が公式に書いてありました。ここでは、その方法を書いておきます。

と言っても、ものすごく簡単で、 java.net.HttpURLConnection API を使ってる場合のみに有効な方法ですが、

URL.setURLStreamHandlerFactory(cronetEngine.createURLStreamHandlerFactory());

を最初に実行するだけです。 cronetEngine は、先程のサンプルの中を参考に、以下のように作成して下さい。

CronetEngine.Builder engineBuilder = new CronetEngine.Builder(getContext());
cronetEngine = engineBuilder
                    .enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISABLED, 100 * 1024)
                    .addQuicHint("www.google.com", 443, 443)
                    .enableHttp2(true)
                    .enableQuic(true)
                    .build();

これだけです。

通信が劣悪な環境での QUIC は本当に強力なので、是非使ってみて下さい。

Discussion