1739958582
2025-02-19 04:48:00
go-msquic のためのゴーラッパーです MicrosoftのQUICライブラリ、HTTP/3などのQUICベースのプロトコルを使用するための簡単なインターフェイスをGO開発者に提供します。
go-msquic APIはインスピレーションを受けています quic-go ドロップイン交換として使用できます。 Cライブラリを扱う準備ができていない限り、実際にお勧めします quic-go 以上 go-msquic。
すべての前に、ローカルを持つ必要があります MsQuic Cライブラリビルド。
go-msquic CGOに依存し、Cヘッダーとライブラリの両方が必要です(共有または静的、以下を参照)。
git clone https://github.com/microsoft/msquic
cd msquic
git submodule update --init --recursive
- 静的ビルド(libmsquic.a)の場合、次のことを行います。
mkdir build-static
cd build-static
cmake .. -DCMAKE_BUILD_TYPE=MinSizeRel -DQUIC_BUILD_SHARED=OFF
- または、動的ビルド(libmsquic.so)の場合、次のことを行います。
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=MinSizeRel
- 次に、コンピレーションを続行します
Package-Configは、CGOがヘッダーとライブラリを自動的に見つけるために使用するツールです。
このリポジトリにパッケージ-Config(.pc)ファイルを見つけることができます。以下をコピーします pcs/msquic-static.pc (静的ビルド用)または pcs/msquic.pc (動的ビルド用)に /usr/share/pkgconfig/msquic.pc – または、pkg-configツールでアクセス可能な場所。
インストールします go-msquic、システムにインストールしていることを確認してください。次に、次のコマンドを実行してパッケージをインストールします。
go get github.com/noboruma/go-msquic
コードで使用してください:
import "github.com/noboruma/go-msquic/pkg/quic"
前提条件が適切に行われた場合、頼ってGOプロジェクトをコンパイルすることができます go-msquic と CGO_ENABLED=1 MSQuicの使用を開始します。
にクライアントとサーバーコードがあります sample/ ディレクトリ。
私のライセンス
#Github #noborumago #msquicquichttp3ライブラリラッパーMsquicの周りのラッパー