原创 linux c++守護進程部署
搞一個守護進程工具就可以了。 不用自己寫。
原创 網關服務器分佈式部署(網關: 轉發服務)
1)筆記 1)通用服務器 (1)網關服務器 (2)用戶服務器 2)系統服務器 3)遊戲服務器 4)多服務器啓動部署 (1)因爲服務器是c++ lua,因此build出來一個exe用於啓動lua腳本即可啓動
原创 聊天室2
1)筆記 1)scrollview: ScrollRect 2)top middle bottom (1)GameObject (2)bg (3)src ip port等 3)Image相當於單色精靈
原创 unity網絡編程-接收數據
1)筆記 1)tcp爲了優化發送數據,會把2個包一起發送,因此有粘包問題,我們把服務器的 代碼邏輯拿過來用,c#寫一下就ok 2)echo server-->talkroom-->五子棋 3)stype-->service 4
原创 內存優化和網關連接到其它服務器
1)筆記 1)我們的服務器可能作爲客戶端連接到其它服務器,因此有2種session (1)客戶端連接網關的 (2)網關作爲客戶端連接其它服務器的 自己的host port存儲的是:網關要連接的業務服務器的信息 總體
原创 聊天室1
1)筆記 1)req(請求)和res(迴應)是對稱的,但是消息上如果沒body,不一定定義; 2)即使沒有定義protobuf結構,但是這個命令是存在的,消息號依然要保留出來; 3)protobuf協議命名規範 (1)Req<-
原创 unity-tcp網絡線程到主線程消息隊列的分發
1)筆記 1)消息隊列的分發: 網絡線程接收到數據後要丟給主線程,因此需要做一個消息隊列. 2)收數據的線程收到數據後,發到消息隊列. 主線程每次update刷新的時候,判斷消息隊列是否有消息, 有則依次處理; 3)用戶層面,只
原创 聊天室3
1)筆記 1)學習: 客戶端與服務器是如何通訊的 (1)通過協議通訊 (2)相互的收發數據 2)學習: 命令、通訊、客戶端與服務器之間的交互 3)cmd_name_map: ctype與protobuf消息名字的映射 4)
原创 git rebase + merge解決分支合併衝突實戰
1) rebase出現衝突後,手動解決衝突,然後執行 “git add 衝突文件”,然後執行“git rebase --continue”,不能執行“git commit” 2)git分支合併衝突解決 https://www.cnbl
原创 checkstring與checklstring的區別
在lua調用c++方法發送消息時,將lua的table表格轉化爲protobuf時有如下代碼: case FieldDescriptor::CPPTYPE_STRING: { size_t size = 0; const char*
原创 查看某個commit更改的文件名字(不查看更改內容 )git diff-tree -r --no-commit-id --name-only f3d5e4fa2
➜ sayabc-gamification-demo01-all git:(U2L5L6) git diff-tree -r --no-commit-id --name-only f3d5e4fa29d9e41ab085cc4d0c5
原创 unity網絡: 客戶端數據庫的發送
1)筆記 1)客戶端發送數據,粘包的處理 (1)2個字節的包頭 + 數據體 (2)協議內部,分爲stype + ctype + json/str/proto Message 2)protobuf協議版本的問題 (1).ne
原创 node position x y
寫了一句SB代碼: ele.node.position.x = pre_ele.node.position.x + 100 搞了一個小時沒找到原因!!! 改變節點座標3種寫法: 1)ele.node.x = 1; 2)ele.nod
原创 思考,json轉protobuf
1)近期,在moba c/c++/lua服務器中學習了, 通過協議名字, 然後遍歷lua table生成protobuf對象的例子 2)突然意識到:那json不也是一樣的嗎? pinus框架中, 有個NB之處在於: 使用了protobuf
原创 Unity using的2個作用
using 關鍵字有兩個主要用途: 1)作爲指令,用於爲命名空間創建別名或導入其他命名空間中定義的類型。 例如: using System; 2)作爲語句,用於定義一個範圍,在此範圍的末尾將釋放對象。 using(Connectio