Mercurial > hg > Document > Growi
view user/riono210/seminar/202109/0928.md @ 92:31a558f00ba6
backup 2021-09-29
author | autobackup |
---|---|
date | Wed, 29 Sep 2021 00:10:03 +0900 |
parents | |
children |
line wrap: on
line source
## 0928 ## 研究目的 * ゲームの通信方式にはクライアントサーバ方式とp2p方式がある * データの安全性やチート対策などでクライアントサーバ方式が主流 * サーバに接続してマルチプレイなどのデータ同期を実現させているため、低速 * 高速かつ安全に通信を行たい * 並列分散フレームワークChristieがある * Christieを利用してp2pで通信を行う * ゲーム開発で主に使用されているUnityに対応するためにChristieをC#へ書き換えを行う ### 今週の進捗 * RemoteTakeを動かすサンプルが動きました! * MessagePackDataGearに変換コードを仕込むことで修正 * 原因はデシリアライズする時にobjectでデシリアライズしていたため dictionaryで受け取ったフィールド変数のデータを基に、インスタンス生成する ```cs public T MessagePackDataFormed(dynamic deserializedData) { Dictionary<dynamic,dynamic> dataDictionary = (Dictionary<dynamic, dynamic>) deserializedData; List<object> valueArray = new List<object>(); foreach (var VARIABLE in dataDictionary) { valueArray.Add(VARIABLE.Value); } object[] convertArray = valueArray.ToArray(); T instance = (T) Activator.CreateInstance(clazz, convertArray); return instance; } ``` ### 今後の問題点 * FizzBuzzの例題を動かした所、ソケット通信がうまくいかなくて失敗