MagicOnion
2019-04-10
gRPC の流れで MagicOnion について調べたメモ
MagicOnion とは
元グラニの CTO の人が Cysharp で作っている、 C# サーバで Unity クライアントと gRPC するやつ
黒騎士と白の魔王 ではこの技術でマルチプレイを実装しているらしい。
要点
- Unity と Server で言語を合わせていることが優位性となっている
- Client-Server 間で C# のインタフェースを共有して通信部分を実装する模様
- gRPC という言葉で Protocol Buffers を連想するが、そうした IDL は利用しない枠組みのようだ
- gRPC の Bidirectional Streaming 上でコネクションを確立し、 その通信フレームの中で独自の軽量プロトコルを流す設計
情報源
- [2018-12] Unity+MagicOnionで超絶手軽にリアルタイム通信を実装してみた - Qiita
- チャット作ってる
- [2018-12] MagicOnion v2を使ってUnity IL2CPPでgRPC通信をする - Qiita
ちなみにサーバ側はAWSの.NET Core AMIのt2.nanoインスタンス、Tokyoリージョンで動かしていたのですが、 ほぼわからないくらいの遅延で通信がAndroid↔iOS間でできていました。