Submit Search
Upload
MagicOnion入門
•
7 likes
•
10,608 views
torisoup
Follow
[非公式] Unite Tokyo 2019 Eve2 LT Fes https://connpass.com/event/139403/
Read less
Read more
Technology
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
UniTask入門
UniTask入門
torisoup
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
Recommended
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
UniTask入門
UniTask入門
torisoup
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
IL2CPPに関する軽い話
IL2CPPに関する軽い話
Wooram Yang
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
UniRx完全に理解した
UniRx完全に理解した
torisoup
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
NishoMatsusita
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
Kentaro Ebisawa
More Related Content
What's hot
IL2CPPに関する軽い話
IL2CPPに関する軽い話
Wooram Yang
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
UniRx完全に理解した
UniRx完全に理解した
torisoup
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
com044
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
What's hot
(20)
IL2CPPに関する軽い話
IL2CPPに関する軽い話
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
UniRx完全に理解した
UniRx完全に理解した
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
インタフェース完全に理解した
インタフェース完全に理解した
Epic Online Services でできること
Epic Online Services でできること
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
猫でも分かるUMG
猫でも分かるUMG
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Similar to MagicOnion入門
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
NishoMatsusita
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
Kentaro Ebisawa
SORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターン
SORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターン
SORACOM,INC
SORACOM Technology Camp 2018 ベーシックトラック3 | 今日から始めるセンサーデータの可視化
SORACOM Technology Camp 2018 ベーシックトラック3 | 今日から始めるセンサーデータの可視化
SORACOM,INC
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
Yoshiyuki Nakamura
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
SORACOM,INC
6th Japan IT week autumn
6th Japan IT week autumn
Hidenori Matsuki
Mobile Web
Mobile Web
Makoto Kato
オープンクラウドカンファレンス2017 | クラウドネイティブなIoT通信プラットフォームと その活用事例
オープンクラウドカンファレンス2017 | クラウドネイティブなIoT通信プラットフォームと その活用事例
SORACOM,INC
はじめてのWeb of Things
はじめてのWeb of Things
Saki Homma
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Developers Summit
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
Akira Inoue
we are javascript LTの資料4
we are javascript LTの資料4
Yuuta Moriyama
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM,INC
【Connected.T5】SORACOMと繋がるクラウドサービス
【Connected.T5】SORACOMと繋がるクラウドサービス
SORACOM,INC
SORACOM Meetup 広島 | SORACOM 紹介
SORACOM Meetup 広島 | SORACOM 紹介
SORACOM,INC
Observability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
Taiki
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe
Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎
なべ
Angularreflex20141210
Angularreflex20141210
Shinichiro Takezaki
Similar to MagicOnion入門
(20)
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
SORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターン
SORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターン
SORACOM Technology Camp 2018 ベーシックトラック3 | 今日から始めるセンサーデータの可視化
SORACOM Technology Camp 2018 ベーシックトラック3 | 今日から始めるセンサーデータの可視化
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
SORACOM Discovery2019 H1新規事業立上げを支援するソラコムチームの活動とユーザー事例
6th Japan IT week autumn
6th Japan IT week autumn
Mobile Web
Mobile Web
オープンクラウドカンファレンス2017 | クラウドネイティブなIoT通信プラットフォームと その活用事例
オープンクラウドカンファレンス2017 | クラウドネイティブなIoT通信プラットフォームと その活用事例
はじめてのWeb of Things
はじめてのWeb of Things
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
we are javascript LTの資料4
we are javascript LTの資料4
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
SORACOM Conference Discovery 2017 | E3. デバイスからのクラウド連携パターン
【Connected.T5】SORACOMと繋がるクラウドサービス
【Connected.T5】SORACOMと繋がるクラウドサービス
SORACOM Meetup 広島 | SORACOM 紹介
SORACOM Meetup 広島 | SORACOM 紹介
Observability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎
Angularreflex20141210
Angularreflex20141210
More from torisoup
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
torisoup
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
torisoup
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
torisoup
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
Observableで非同期処理
Observableで非同期処理
torisoup
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
torisoup
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
torisoup
Photon Cloud ことはじめ
Photon Cloud ことはじめ
torisoup
アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」
torisoup
コールバックと戦う話
コールバックと戦う話
torisoup
UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話
torisoup
Task vs Observable
Task vs Observable
torisoup
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
UniRxでPUNを使いやすくする
UniRxでPUNを使いやすくする
torisoup
はじめてのUniRx
はじめてのUniRx
torisoup
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
torisoup
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
torisoup
Unity講習会(初級)
Unity講習会(初級)
torisoup
More from torisoup
(19)
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
Observableで非同期処理
Observableで非同期処理
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
Photon Cloud ことはじめ
Photon Cloud ことはじめ
アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」
コールバックと戦う話
コールバックと戦う話
UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話
Task vs Observable
Task vs Observable
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
UniRxでPUNを使いやすくする
UniRxでPUNを使いやすくする
はじめてのUniRx
はじめてのUniRx
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
Unity講習会(初級)
Unity講習会(初級)
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Recently uploaded
(9)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
MagicOnion入門
1.
MagicOnion⼊⾨ 2019/9/23 とりすーぷ
2.
⾃⼰紹介 • 「とりすーぷ」 • @toRisouP •
バーチャルキャスト社 開発 • Microsoft MVP for Developer Technologies 2018〜 VRのアバター
3.
今回の話 • MagicOnionについての概要を説明 • 何のためのフレームワークか •
どんな機能があるのか
4.
MagicOnionって何?
5.
MagicOnion is 何 •
リアルタイムネットワーク通信のフレームワーク • Photon Serverなどと同列に並ぶもの
6.
⼀般的なサーバ-クライアントの実装 クライアント サーバ
7.
⼀般的なサーバ-クライアントの実装 ここで通信していろいろやりたい サーバにロジックやデータがある
8.
⼀般的なサーバ-クライアントの実装 ここの通信プロトコルは? HTTP? WebSocket? gRPC
?
9.
⼀般的なサーバ-クライアントの実装 ここの通信プロトコルは? HTTP? WebSocket? gRPC
? データフォーマットは? Json? Xml?Byte[]?
10.
⼀般的なサーバ-クライアントの実装 ここの通信プロトコルは? HTTP? WebSocket? gRPC
? データフォーマットは? Json? Xml?Byte[]? エンドポイントやAPIスキーマを どうきめてどう管理するの?
11.
⼀般的なサーバ-クライアントの実装 ここの通信プロトコルは? HTTP? WebSocket? gRPC
? データフォーマットは? Json? Xml?Byte[]? リアルタイム通信するの? 単発のAPIサーバでいいの? エンドポイントやAPIスキーマを どうきめてどう管理するの?
12.
⼀般的なサーバ-クライアントの実装 ここの通信プロトコルは? HTTP? WebSocket? gRPC
? データフォーマットは? Json? Xml?Byte[]? リアルタイム通信するの? 単発のAPIサーバでいいの? エンドポイントやAPIスキーマを どうきめてどう管理するの? この辺あたりの実装をまとめたものが MagicOnion
13.
MagicOnionって何? • .NET Core/Unity⽤のリアルタイム通信フレームワーク •
サーバサイドC#、クライアントとコード共有可能 • gRPC + MessagePack • MITライセンス • 開発はCySharp社 • メインコミッターはneuecc⽒(UniRxの作者)
14.
要するに? • サーバサイドのC#ロジックを クライアントから簡単に実⾏できるフレームワーク • サーバ側は
.NET Core • クライアント側は Unity / .NET Core
15.
MagicOnion 通信プロトコルは「gRPC」 データフォーマットは 「MessagePack」 リアルタイム通信・単発のAPIサーバ 両対応 C#のソースコードがそのまま エンドポイントやスキーマになる
16.
最⼤の特徴 • 通信レイヤを意識せずにサーバコードを呼び出せる • サーバとクライアントでC#インタフェースを共有 •
async/awaitでメソッド呼び出しするだけでOK • (ただしgRPCのコネクション管理だけは⾃前で管理が必要)
17.
例 • サーバで⾜し算する SumAsync(1 ,
2); 3 1 + 2
18.
例:サーバサイドで計算する 1.サーバ/クライアントで共有するインタフェースを⽤意 サーバ側/Unity側両⽅に同じファイルを配置する
19.
例:サーバサイドで計算する 2.サーバ側に実装をおく 与えられた値を⾜して返すだけ
20.
例:サーバサイドで計算する 3. Unity側で呼び出す gRPCのチャンネルを作って
21.
例:サーバサイドで計算する 3. Unity側で呼び出す ICalculateServiceへのクライアントを作り
22.
例:サーバサイドで計算する 3. Unity側で呼び出す あとは普通にメソッドコールするだけ 通信の結果はasync/awaitで待つだけでOK
23.
例:サーバサイドで計算する クライアント サーバ
24.
これだけ! • 共通のインタフェースを定義して中⾝を実装するだけ • 通信周りのことはすべてMagicOnionにおまかせ •
アプリケーションレイヤではただ単にメソッドコールするだけでOK • ただし、事前にコードジェネレート処理だけ必要
25.
必要なもの • クライアントサイド • Unity •
MagicOnion • MessagePack • gRPC
26.
必要なもの • サーバサイド • .NET
Core • MagicOnion • MessagePack • Generic Host (追加で⼊れるのをおすすめ)
27.
サーバマシンは当然いるよ • Docker +
Kubernetes が推奨 • Google Kubernetes Engineとかそのへんで動かすとよい • インフラコストはもちろん必要 • k8sの学習コスト • 動かすお⾦
28.
どんな機能があるのか
29.
実装できるAPIの種類 • Service • UnaryRPC
(1Request ‒ 1Response) • メソッドコールのたびにリクエストを投げる • StreamingHub • Duplex Streaming ( N Request ‒ M Response) • 常時接続 • サーバ/クライアントが任意のタイミングで互いにデータを送れる
30.
Service MagicOnion Server Client • 1回のリクエストで必ず1つのレスポンス
31.
StreamingHub MagicOnion Server • 好きなタイミングでリクエストしたり、 サーバからメッセージのブロードキャストが可能 「⾃分のステータス」を定期的に送って 結果を全員へ送る、とか サーバで計算して
32.
フィルタ機能 • 通信の前後に処理を追加できる • サーバ側 •
「Service」「StreamingHub」両対応 • メソッドを実⾏する前・後両⽅に処理を追加可能 • クライアント側 • 「Service」でのみ利⽤可能 • リクエストを送る直前、レスポンスを受け取った後に処理を追加可能
33.
フィルタの⽤途 • 例 • ログ出⼒ •
リトライ機構を作る(クライアント側) • 認証機構を追加する • 暗号/復号化する • 実際に通信せずにダミーレスポンスに差し替える(クライアント側) フィルタは多段に組み合わせて設定してもOK
34.
フィルタについて詳しく知りたい • ぱすたさんの資料がおすすめ • MagicOnionでの共通処理の挟み⽅ •
https://speakerdeck.com/p_a_sta/magiconiondefalsegong-tong- chu-li-falsexie-mifang
35.
まとめ
36.
まとめ • サーバとクライアントをC#で統⼀して作れる! • クライアントのC#エンジニアがそのままサーバコードをいじれる! •
C#として⾃然な形でサーバロジックが呼び出せて楽しい • 個⼈開発者はちょっと考えたほうがいいかも • MagicOnionを動かすサーバ代がどうしても必要(○万円〜/⽉) • インフラ周りのことを考えなくて済む「Photon Cloud」もアリ
37.
本当はもっと話したかった • 8分じゃ全然⾜りなかったよ… • もうちょっと踏み込んだ話は「.NET
Conf in Tokyo」で話します • Room Bは「Unity」トラック • https://vsuc.connpass.com/event/146588/
Download now