原文:skynet源碼分析:服務

skynet剛開始是單進程多線程的,它是由一個一個的服務組成的。在skynet上做開發,實際上就是在寫服務。服務與服務之間通過消息隊列進行通信。 做為核心功能,Skynet 僅解決一個問題: 把一個符合規范的 C 模塊,從動態庫 so 文件 中啟動起來,綁定一個永不重復 即使模塊退出 的數字 id 做為其 handle 。模塊被稱為服務 Service ,服務間可以自由發送消息。每個模塊可以向 S ...

2018-06-20 11:48 0 2462 推薦指數:

查看詳情

skynet源碼分析之snlua服務的啟動流程(一)

skynet絕大部分服務類型是snlua,它是運行Lua腳本的服務,在用skynet框架上開發游戲服務器時,大部分邏輯都是snlua服務,90%以上只需寫Lua代碼即可,所以很有必要了解snlua服務相關內容。由於篇幅較多,打算分三篇文章介紹,都寫完后再一起發布出去。本篇主要介紹snlua服務 ...

Sat Mar 03 00:24:00 CST 2018 0 1422
skynet源碼分析:模塊

之前已經說過skynet的是做什么的,現在開始從模塊上研究skynet源碼skynet各層表現 從上大概就清楚skynet的“內部” 而skynet源碼目錄結構如下: 3rd:第三方代碼,有lua和jemalloc等。 lualib:使用lua寫的庫 ...

Wed Jun 20 22:12:00 CST 2018 0 2002
skynet源碼分析之snax

snax是一個方便實現skynet服務的簡單框架,對服務的接口(比如skynet.call, skynet.send等)做了進一步的封裝,編寫snax服務比較容易,詳情參考官方wiki https://github.com/cloudwu/skynet/wiki/Snax 下面是一個簡單 ...

Sat Apr 28 05:40:00 CST 2018 0 853
skynet源碼分析3:消息調度

從四個方面來說:   1、消息發送   2、工作線程控制   3、信箱調度   4、消息分發 與調度相關的代碼實現在/skynet-src/skynet_mq.c,/skynet-src/skynet_start.c,/skynet-src/skynet_server.c三個文件中,整體 ...

Wed Sep 14 01:52:00 CST 2016 0 1831
skynet源碼閱讀<3>--網關分析

繼上一篇介紹了skynet的網絡部分之后,這一篇以網關gate.lua為例,簡單分析下其串接和處理流程。 在官方給出的范例中,是以examples/main.lua作為啟動腳本的,在此過程中會創建watchdog服務: 首先加載watchdog.lua腳本 ...

Wed Mar 15 01:43:00 CST 2017 0 3584
skynet源碼分析之定時器skynet_timer.c

skynet自帶定時器功能skynet-src/skynet_timer.c,在skynet啟動時會創建一個線程專門跑定時器。每幀(0.0025秒/幀)調用skynet_updatetime() 1. 設計思想 skynet的設計思想參考Linux內核動態定時器的機制,參考 ...

Wed Mar 07 04:02:00 CST 2018 0 1084
skynet源碼分析之sproto使用方法

上一篇文章介紹sproto的構建流程(http://www.cnblogs.com/RainRill/p/8986572.html),這一篇文章介紹sproto如何使用,參考https://githu ...

Wed May 09 01:12:00 CST 2018 0 1967
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM