原创 skynet 線程

啓動 創建一個socket、timer、monitor線程和n個工作線程。工作線程的個數由啓動時配置的參數決定。 static void start(int thread) {     pthread_t pid[thread+3];

原创 skynet 學習資料整理

  https://blog.csdn.net/zxm342698145/article/details/79640535   整篇覆蓋很全 https://www.cnblogs.com/watercoldyi/p/5804743.ht

原创 redis 學習筆記 數據類型 集羣配置 數據持久化

思維導圖: https://www.processon.com/view/link/5e73239ee4b03b9965240e6a#map REDIS 五中數據類型的底層實現 https://www.cnblogs.com/MouseD

原创 skynet push消息到次級消息隊列

壓入消息: int skynet_context_push(uint32_t handle, struct skynet_message *message) {     //獲取服務cx     struct skynet_contex

原创 skynet module分析

module初始化 skynet中每個C服務都是一個module。源碼位於skynet_module.c在啓動時設置module的默認查找路徑爲"./cservice/?.so",創建modules實例。 skynet_main.c i

原创 計算機網絡五層模型詳解

目錄   網絡概述: 1.網絡通信的層次 2.OSI七層網絡模型 3.TCP五層模型: 一、物理層 1.物理層作用 2.物理層概述 3.信號調製 4.信道複用技術 二、數據鏈路層 1.數據鏈路層作用 2.點對點數據鏈路層三個基本問題 3

原创 大型手遊登錄流程詳解

https://blog.csdn.net/xufeng0991/article/details/48138625

原创 skynet skynet_context、message_queue、handle_storage、global_queue

創建一個module實例,只是創建了一個服務的私有數據,以及綁定了callback,接受消息後的邏輯處理函數。那麼這個module實例是怎麼被底層框架所驅動呢??? 先看個數據結構skynet_context: // skynet_se

原创 skynet protobuf的使用

protobuf 的lua版本的安裝編譯和使用參考文章: https://blog.csdn.net/qq769651718/article/details/79435298    protobuf的協議定義。 ---c2s.proto

原创 [Unity3D學習]3D數學基礎之座標系

 以前都是做2D遊戲,基本不關注數學方面的知識。現在學習unity了,很多概念都不懂。學生時代的東西,早還給老師了。當然我學習不好 = =!所以現在來補補。畢竟現在要做3D了。基礎的東西還是得懂。 下面是我看書的一些重點、我將其記錄下

原创 AS3 event flow 事件冒泡機制

=思路大綱= ActionScript 2的問題AS3解決問題結合問題,說明“冒泡”冒泡的問題所在以及解決方法1 - ActionScript 2的問題 stage裏有一個mc,mc裏有一個btn 點選mc實現拖動mc,鼠標鬆開停止拖動

原创 skynet 網關

網關服務相關代碼 watch_dog gate agent gateserver   啓動: 1.啓動watch_dog服務,watch_dog 啓動 gate服務。 2.執行watch_dog start 服務,向其傳入conf。wa

原创 lua熱更新

 1、什麼是熱更新? 熱更新也叫不停機更新,是在遊戲服務器運行期間對遊戲進行更新。實現不停機修正bug、修改遊戲數據等操作。也可以這樣講:一輛車以時速150km跑着,突然爆胎了,然後司機告訴你,我不停車,你去把輪胎換了,小心點。恩 2

原创 skynet snlua分析

snlua 是所有lua服務的載體,負責加載lua腳本以及綁定lua消息回調。所有的lua服務其實都可以統稱爲snlua服務。 由之前的module文章可知,skynet啓動一個C 服務,會自動調用C服務的create 和init函數。下

原创 動態擴展buffer block

#pragma once #include <corecrt_memory.h> #include <list> #include <mutex> #define BLOCK_BUFFER_SIZE 4096 #define I