- Google製 RPC (HTTP/2を使用)
- 異なる言語間でも簡単に使用可能
Protocol Buffers[edit]
- 言語に依存しない RPC用データフォーマット
- proto ファイルに,データと通信情報等を記述する.
- 1リクエスト,1レスポンス (Unary RPC)
- 1リクエスト,多レスポンス (Server streaming RPC)
- 多リクエスト,1レスポンス (Client streaming RPC)
- 多リクエスト,多レスポンス(Bidirectional streaming RPC)
.NET (C#)[edit]
- grpc-dotne (HTTP/2 by .NET)
- Unity では HTTP/2 by .NET のサポートなし
- Unity の Package Manager (UnityPM) では未対応
YetAnotherHttpHandler[edit]
- パッケージのインストール
- gRPC, Protobuf 関連をインストール
- MQTT 関連をインストール(必要なら)
Linux (Rocky Linux)[edit]
dnf config-manager --set-enabled crb # CRBリポジトリの有効化
dnf install grpc grpc-*
dnf install protobuf-*
dnf install dotnet-*
dnf install cargo
Compile[edit]
yum install cargo
yum install grpc
yum install grpc-*
yum protobuf-*
yum install dotnet-*
dnf config-manager --set-enabled crb
yum install protobuf-compiler
cmake -G "Unix Makefiles" \
-DCMAKE_CXX_FLAGS="-I/opt/GIT/llvm-project/libcxx/include -I/usr/local/include" \
-DCMAKE_C_FLAGS="-I/opt/GIT/llvm-project/libcxx/include -I/usr/local/include" \
-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY \
-DCMAKE_BUILD_TYPE=Release \
-DLIBCXXABI_LIBCXX_INCLUDE_DIRS="/opt/GIT/llvm-project/libcxx/include" \
-DLIBCXX_HEADER_DIR="/opt/GIT/llvm-project/libcxx/include" \
-DLLVM_ENABLE_RUNTIMES="libunwind" \
-DLIBCXXABI_ENABLE_EXCEPTIONS=False \
-DLIBCXXABI_ENABLE_THREADS=False \
-DLIBCXXABI_TARGET_TRIPLE=$TARGET_TRIPLE \
-DLIBCXXABI_ENABLE_SHARED=False \
-DLIBCXXABI_ENABLE_STATIC=True \
../libcxxabi