簡単に実装してみました。共通ルーチンを実装します。HTTP/2プロトコルの説明も行います。メッセージをやりとりします。一つ一つの論理的なデータのやり取りが「ストリーム」です。どのストリームのデータなのかを区別します。内容のペイロードからなります。フレームに分かれます。HEADERSフレームだけを送信します。複数のフレームに跨ることがあります。ほうは、このフレーム自体に継続フラグがあります。クライアントからリクエストを出し、サーバからレスポンスとしてデータを返す方法が一つ。サーバからも開始できます。サーバのほうから関連するリソースもついでに送信できます。フレームを開始します。すべての接続の冒頭に送信する。いう方法で圧縮されます。次のようなバイト列の繰り返しです。それによって後続のバイト列が決まります。このオクテットの上位ビットで、後続が変わる。仕様で事前定義された主なヘッダフィールド名があります。インデックスによる既出のヘッダフィールドの省略も可能です。フィールド値のデコードが必要です。ハフマン符号化によって圧縮されています。全部を実装するのは大変で、ギブアップしました。ここでは、既存のライブラリを使います。ヘッダ1ファイルで実装しています。それほど難しくありません。フレーム単位のバイナリ列の部分があります。どちらの形でも読めるようにしなければなりません。メモリに載る大きさと仮定して大丈夫です。m_framebuf;}行として読む場合。バッファリングの難しい部分をやってくれるので、非常に簡単です。別のストリームのフレームが交互に届く可能性を考慮できていません。リソースの長さを取得する。ACKが返ってくる場合があるのでACKなら無視して次を読む。