要想認識一個框架,首先要作的就是讓它跑起來。linux
skynet是一款基於C跟lua的開源服務端併發框架,這個框架是單進程多線程模型,主要應用於遊戲服務端領域,是lua大神雲風所寫的。本文不涉及框架過多的理論知識,只是簡單的介紹一下如何編譯以及運行skynet。git
skynet開源項目地址:github
https://github.com/cloudwu/skynetmacos
源碼下載多線程
git clone https://github.com/cloudwu/skynet.git併發
因爲github是國外網站,下載速度能夠能比較忙,須要耐心等待。若是擔憂與遠程的機子斷線的話,能夠加個&符號,讓它在後臺運行,慢慢下載。app
編譯以前須要安裝相關的依賴庫,如下依賴庫沒法安裝的童鞋須要自行google解決。框架
yum install -y readline-devel
yum install -y autoconf網站
下載完以後,就能夠開始編譯google
cd skynet
這時候若是你直接make的話會報如下錯誤
意思就是說須要添加一個系統名稱,正常通常都是linux系統
make linux
若是是mac系統
make macosx
在編譯的過程,若是你的網速很慢的話,常常會遇見這樣的一個問題。
fatal: unable to access 'https://github.com/jemalloc/jemalloc.git/': I/O operation timed out
fatal: clone of 'https://github.com/jemalloc/jemalloc.git' into submodule path '/app/process/skynet/3rd/jemalloc' failed
Failed to clone '3rd/jemalloc' a second time, aborting
這個意思好像就是說IO操做超時,可能就是機器網速太慢了。
正常的話編譯是須要必定的時間的,若是編譯成功以後就會產生如下3個新的文件,其中skynet就是咱們須要的可執行文件,這也是最核心的一個文件。
那麼咱們如何驗證編譯的這個文件是真的沒問題呢?那麼咱們就須要運行一下skynet這個可執行文件。
運行可執行文件
./skynet example/config
必定要記得須要加個運行參數,這個是運行所須要的配置文件。若是能正常輸出的話,就說明這個可執行文件是沒有問題的。
更多精彩內容,請關注同名公衆:一點月光(alittle-moon)