#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>

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS