原文:skynet1.0閱讀筆記2_skynet的消息投遞skynet.call

為了了解 skynet.call 的調用過程,需要先看看 skynet的隊列是如何把包分到不同工作線程的。看下圖 查看 global queue 的skynet globalmq push和skynet globamq pop,很容易可以找到兩個關鍵的函數: 和 先來看出口,skynet context message dispatch。在skynet的啟動函數中,我們已經知道skynet sta ...

2015-11-20 18:01 0 3377 推薦指數:

查看詳情

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 學習筆記-sproto模塊(2)

雲風在skynet中繼承了sproto的傳輸協議,對比protobuf的好處是,能明文看到傳輸內容,而且skynet不需要protobuf這么功能,所以雲風也建議在lua層使用sproto來作為skynet的傳輸協議。 在examples文件夾中的agent.lua中有用到sproto ...

Sat Apr 30 05:53:00 CST 2016 0 4165
skynet 初探

skynet是雲風團隊發布的一個開源的服務器框架。 底層采用C編寫,邏輯層通常用lua。非常適合作為游戲的服務器框架。 學習skynet,可能涉及到操作系統,window,linux,游戲服務器等方方面面的知識,是一個不可多得的開源項目。 作為菜鳥的希望把學習的過程記錄下來,無論對於面試 ...

Wed Feb 15 06:04:00 CST 2017 0 4388
skynet coroutine 運行筆記

閱讀雲大的博客以及網上關於 skynet 的文章,總是會談服務與消息。不怎么看得懂代碼,光讀這些文字真的很空洞,不明白說啥。網絡的力量是偉大的,相信總能找到一些解決自己疑惑的文章。然后找到了這篇講解 skynet 消息隊列的文章(最新的 skynet 消息隊列代碼已經有更新,變得更簡潔易讀)。了解 ...

Mon Mar 16 00:39:00 CST 2015 0 3664
skynet源碼閱讀<5>--協程調度模型

注:為方便理解,本文貼出的代碼部分經過了縮減或展開,與實際skynet代碼可能會有所出入。 作為一個skynet actor,在啟動腳本被加載的過程中,總是要調用skynet.start和skynet.dispatch的,前者在skynet-os中做一些初始化工作,設置消息的Lua回調,后者 ...

Tue Apr 11 02:30:00 CST 2017 1 2634
skynet源碼解析(一)——編譯運行skynet

要想認識一個框架,首先要做的就是讓它跑起來。 skynet是一款基於C跟lua的開源服務端並發框架,這個框架是單進程多線程模型,主要應用於游戲服務端領域,是lua大神雲風所寫的。本文不涉及框架過多的理論知識,只是簡單的介紹一下如何編譯以及運行skynetskynet開源項目 ...

Tue Mar 16 07:21:00 CST 2021 0 268
skynet總體架構

前言 skynet是我們游戲服務端的底層框架,當初在技術選型的時候仔細閱讀過它的源碼,發現它是一個C語言的工程典范。大多數游戲服務端,要么使用C++,要么使用java,使用C是非常少見的。但是skynet通過C和Lua的結合,實現了一個高效的游戲框架,C層沒有多余的一堆三方庫 ...

Tue Jan 12 19:50:00 CST 2021 0 519
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM