前端用的unity,使用xlua作熱更,基本百分之九十的功能都是使用xlua來編寫的,只有網絡、協議、核心通用工具是用c#來作的;前端
後端使用java,網絡使用netty框架,數據庫用mysql;java
先後端通信協議使用google的protobuf,須要到git上找protobuf的xlua支持,官方已經支持了java;mysql
×××中都會有定時器的處理,好比×××中的發牌、搶莊、翻牌等,若是放在客戶端來控制,我的感受是比較難的,而且在房間的同步上也會存在問題,因此都是放在服務端來作,這個時候就要考慮該用什麼樣的方案來處理大量的定時器呢?我用的是netty實現的時間輪定時器,在 HashedWheelTimer中實現的,具體的用法能夠自行去學習。git
關於時間輪定時器
定義一個時鐘週期和步長,當指針每走一步時就獲取當前時鐘刻度上掛載的任務並執行。sql
關於protobuf
前端用的是lua-protobuf,在git上能夠找到,用起來比較方便。還有一個protoc-gen-lua,也能夠在git上找到,這個須要本身下載整個項目後編譯,有些麻煩。數據庫
後端直接下載官方的java支持就可使用。c#
.proto文件必定要按包劃分,否則生成協議文件會過大,影響編碼(打開慢)和性能。
年前是幫朋友公司作這個app,資金有限,因此只招了兩個剛畢業的前端來編寫前端,我寫後端和前端的socket代碼,也一塊兒和前端同窗處理他們沒法解決的問題,以後由於公司問題,項目就擱置了,目前基本都作完了,只剩下ipa包沒打出來。後端
有興趣的朋友能夠找我瞭解。網絡
VX:blank9199app