skynet 初探


skynet是雲風團隊發布的一個開源的服務器框架。

底層采用C編寫,邏輯層通常用lua。非常適合作為游戲的服務器框架。

學習skynet,可能涉及到操作系統,window,linux,游戲服務器等方方面面的知識,是一個不可多得的開源項目。

作為菜鳥的希望把學習的過程記錄下來,無論對於面試和工作都有莫大的幫助。

 

官方的指南 https://github.com/cloudwu/skynet/wiki/GettingStarted

 

今天第一篇,首先來搭建skynet。分為以下四個步驟:

1.ubuntu

2.samba

3.git clone源碼

4.build skynet

 

1.ubuntu

官方推薦使用ubuntu作為開發skynet的環境,也有社區的同學提供了window版,但未知問題較多。

新手還是使用官方推薦的ubuntu好了。首先要安裝一個vmware虛擬機,再下載ubuntu的最新iso鏡像。

對於程序猿來講小case啦,忽略不講。

 

2.samba

既然用到lua語言開發,我還是習慣使用sublime作為編輯器開發。而且以后打算用quick-cocos-2d或者window api作為客戶端,需要一個linux和windows交互共享的方法。

samba是一個可以提供windows和linux共享的軟件。因此需要搭建samba服務器環境。這里也略過不表。網上超多教程。搭建好之后,在ubuntu查看ip地址,在windows添加網絡,就可以linux和windows互訪了。

3.接着我們從github上clone源碼

git clone https://github.com/cloudwu/skynet.git

4.最后開始搭建skynet

make linux

簡單的編譯。總共遇到了下面幾個問題:

4.1 readline.h找不到

其實是沒裝lua。需要安裝lua5.3以上版本。

4.2 jemalloc找不到

需要安裝jemalloc。jemalloc是一種內存分配算法。區別於c語言里的malloc,效率更高。

安裝jemalloc的過程中提示缺少m4。m4是一個宏處理器。

4.3 缺少autoconf

autoconf是一種自動生產Makefile的軟件。

 

這里插一個知識。ubuntu安裝軟件有三種方法。apt-get,dpkg安裝deb和make install安裝源碼包

a.apt-get install xxx。需要聯網。上面的lua安裝用到此方法。

b.dpkg -i package.deb。從下載好的deb包安裝。

c.編譯安裝源碼包。通常4個步驟,從官網下載壓縮包

解壓 tar -zxvf xxxx

配置 ./configure --prefix=安裝路徑

編譯 make

安裝 make install

上面的jemalloc,m4和autoconf都是源碼包安裝法。其中設置安裝路徑--prefix時還要考慮環境變量$PATH,需要安裝到環境變量路徑中,或者自己增加環境變量。

$PATH 可以查看當前的環境變量

 

安裝好jemalloc,autoconf,lua等支持后,再在skynet目錄下make linux,則算編譯成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM