#author("2024-11-16T04:16:55+00:00","default:iseki","iseki") #author("2024-11-16T04:17:30+00:00","default:iseki","iseki") * gRPC - Google製 RPC (HTTP/2を使用) - 異なる言語間でも簡単に使用可能 *** 参考サイト - https://qiita.com/gold-kou/items/a1cc2be6045723e242eb - https://grpc.io/ *** 構成 **** RPC - 言わずと知れた RPC (データはバイナリ) **** Protocol Buffers - 言語に依存しない RPC用データフォーマット - proto ファイルに,データと通信情報等を記述する. **** HTTP/2 *** 通信方法 - 1リクエスト,1レスポンス (Unary RPC) - 1リクエスト,多レスポンス (Server streaming RPC) - 多リクエスト,1レスポンス (Client streaming RPC) - 多リクエスト,多レスポンス(Bidirectional streaming RPC) ** 実装 *** .NET (C#) - grpc-dotne (HTTP/2 by .NET) -- Unity では HTTP/2 by .NET のサポートなし *** Unity - Unity の Package Manager (UnityPM) では未対応 **** YetAnotherHttpHandler - Unity用のHTTP/2(gRPC) Client - https://github.com/Cysharp/YetAnotherHttpHandler - Unity 2022 以降では既にインストール済み? **** [[NuGetForUnity]] (Unity のパッケージをソースで管理) - [[NuGet]] を使用 - https://github.com/GlitchEnzo/NuGetForUnity - パッケージのインストール -- gRPC, Protobuf 関連をインストール -- MQTT 関連をインストール(必要なら) *** Linux (Rocky Linux) <pre> dnf config-manager --set-enabled crb # CRBリポジトリの有効化 dnf install grpc grpc-* dnf install protobuf-* </pre> **** Rust <pre> dnf install dotnet-* dnf install cargo </pre>