原创 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