Skynet教程
c底层, lua业务处理 ,来自网友https://github.com/cloudwu/skynet目录简介.....:::::::::::::·:.::::::..::::.:::::::a.::::::4、环境.…1、 VMware下载与安装2、 Ubuntu下载与安装3、 Ubuntu环境配置6、下载…1、git使用2、github.com.,…看面看着12四、编译.∴131、 Makefile介绍.132、核心程序介绍.17五、例子……1、运行例了着看着192、代码分析………六、原理.1251、启动流程…2、调用服务.:..:::.:·26七、服务.261、用C语言写一个服务2、用Lua语言写一个服务3/https://github.com/cloudwu/skynet简介Skynet是一个轻量级的网络服务器架构,并不是一个完整的游戏服务端。是服务端的最底层框架,和游戏有关的各种服务都是基于架构之上开发的。所以别想着拿 Skynet改改就能作为网络游戏(包括私服),跑起来,甚至怎么监听客户端连接的服务都要你自己来写。Skynet的功能只冇管理好服务(加载勹调度)和服务之间的调用(请求与响应)。 Skynet今后大部分都要在ua閎木下开发,只有需要考虑性能的模块才用C语言开发成ua库,提供给lua调用。现在 Skynet提供给lua使用的库还不多,期望以后这些库多了,可以方便、简单的完成一个网络游戏服务端的开发。main. lua simpledb. ua eto)lua写的服务层A skynet. lua y snax. luaetc.Ua写的Ua库ymy)pk(“)c语言与的ua库aster.so Harbor. so X logger.so Xgate.sosnlua. soC语言写的服务层skynet5 kyne框架linux/freebsd mac os x操作系统层二、环境1、 VMware下载与安装我们既然是菜鸟,就在虚拟中安装 Linux好了。首先我们得先选择一款虚拟机软件,有微软的Ⅴ irtua|PC这个是免费的;甲骨文的Virtualbox也是免费的;我们选择最常用的 VMware好了,这有两个https://github.com/cloudwu/skynet版本,一个叫 VMware Player,这个是免费的,可以在官方网站http://www.vmware.com中下载,另一个叫VMwareWorkstation这个是收费的。以上的几个随便选一个都可以用,不过我们菜鸟还是不差钱,就选收费的 VMware Workstation好了。安装 VMware Workstation要写好多页纸,这里咋们就环保了吧,不懂安裝的请找谷歌或者百度帮忙。现在 VMware Workstation最高版木是10版。我们就选择这个了2、 Ubuntu下载与安装Skynet囗前可以在以下操作系统上编译:1、Linuⅹ;2、 FreebsD;3、 Mac osⅩ下编译使用。需要提醒的是不能在咱们菜鸟最喜欢的Windows下编译使用,虽然有老鸟在干这个事,但暂时没有可用的版本咱菜鸟还是选择 Linux下使用好了,这个网上能查到的资料多,不懂得都能搜索到。既然决定用 Linux我们就选择一个发行版简单点,常用的发行版有:1、 Red hat红帽这个很有名,咱就不用了,你非要用我也不管,后面的内容可能会不适用;2、 Centos这个就是 Redhat,不介绍了;3、 Ubuntu这个可是十大受欢迎发行版之首。咱就选它好了,简单易用。Ubuntu很友好的给咱们国内定制了一个版本,叫Kyin,中文叫麒麟。下载地址:血tp:/www.ubuntu.com/desktop,/ubuntu-kylin-zh-CN根据你的 Windows版木选择麒麟的版木,有32位和64位之分。5/https://github.com/cloudwu/skynet32位的 Windows下不能装64位版本的麒麟。所以请看在 windows“计算机”处右键“属性”查看版本系统分级:百7 window体验指数处理器AMD A10-5800K APU with Radeon(tm) HD Graphics 3.80 GHz安装内存RAM16.0GB(152GB可用)系统类型64位梔作统笔和触摸没有可用于此显示餐的笔或触控输入我的是“64位版操作系统”,对应下载ubuntukylin-14.04-desktop-amd 64 iso在 VMware中安装 Ubuntu的文章网上很多,而且安装过程很简单,这里就不叙述了。3、 Ubuntu环境配置υ bunt安装好之后,还需要安装些程序才能编译 Skynet,所以我们先在这里配置一下,第一步我们需要启动一个命令行的“终端”,用命令来安装简单一点。因为 VMware自动安装的原因,我装完是英文的,你可以把它设用户账户置成中文。里面找到设置用户的语言为汉语Loong账户类型(T)管理员语言()汉语6/2https://github.com/cloudwu/skynet首先我们得找到“终端”并启动它。我们启动 Ubuntu在虚拟机e“提索您的电脑和在线资原中屏幕的左上角会看到这个图标:请点击一下,新安装这里面没有曾经启动和使用过的文件列表。我们需要选择:个第二已安装显示另外76个结果个会,这个时候会看到AmazonBrasero光盘刻录器这里面就是所有你已经安装的软件列表了,相当于 Window的“开始“程序”。上面提小还有76个结果没有显示出来,点一下把他们都显示出来。找到终端这个就是我们需要的终端了。然https://github.com/cloudwu/skynetfprintf(inst->handL新终端终端loong@ubuntuloongoubuntuloong@ubuntu: -/project/sms hloong@ubuntu: /opt/eclipse锁定到启动器退出后屏幕左边的菜单可以看到右键点击一下,把“终端”“锁定到启动器”这样以后就不用到里面找“终端”了,相当 Windows把图标锁定到任务栏。桌面上还可以看到“终端”的窗凵,类似于口 loong@ ubuntu:loongaubuntu:-s囗好了,我们可以回到正题了,首先我们把 Ubuntu更新到最新版本,在“终端”输入:S sudo apt-get updateX-口 loong@ ubuntu:Loongaubuntu: -s sudo apt-get update[sudo] password for loong:意思是叫你输入ong这个用户的密码(我安装的时候起名叫loong,意为龙,你可以用别的名字,一定要记住密码),用来启动超8/https://github.com/cloudwu/skynet级用户的权限,相当于 Win dows的“以管理员身份运行”。输入密码等待自动更新软件列表完成,接着就是更新软件了。在“终端”输入s sudo apt-get upgradeX-口 loong@ ubuntu:loongqubuntu: - s sudo apt-get upgrade等待软件更新完成。虽然可以同时开多个“终端”但不能同时用来更新和安装软件,咱菜鸟们还是老老实实的等它们完成吧。如果出现错误和无法下载、无法解析之类的提示,就说明你的虚拟机没有联网,自己搞定它,可以用firefox火狐浏览器上网看看安装 Skynet需要的软件:1、 autoconf准确的说这个是 Skynet下使用的子模块 jemalloc编译的时候需要的。2、 breadline-de。输入下面命令。s sudo apt-get install autoconfs sudo apt-get install libreadline-dev执行命令的过程中可能会提示你需要下载多大的程序,安装需要多少空间,你是否继续,回答Y就好了。等待装完吧。三、下载1、git使用因为 Skynet使用git来管理源代码的版木,所以最好还是简单的学习一下git。默认的 U bantu没有安装git,我们需要自己装一下,打9/https://github.com/cloudwu/skynet开“终端”输入s sudo apt-get install git输入gt看下使用方法itX-口 loong@ ubuntu:loong@ubuntu: s gitusage: git [--version] [--help] [-C ] [-c name=value[--exec-path[=][--html-path][--man-path][--info-pathI[-Pl--paginate --no-pager][--nD-replace-objects] [--bare1-git-dirspath>][--work-tree=l[--namespace=I [sargs最常用的gt命令有添加文件内容至索引bisect通过二分查找定位引入bug的变更branch列出、创建或刪除分支checkout检出一个分支或路径到工作区clone克隆一个版本厍到一个新目录Co网ηit记录变更到版本库diff示提交之闫、提交和工作区之闫等的差异从另外一个版本库下载对象和引用grep输出和模式匹配的行创建一个空的Gtt版本库或重新初始化一个已存在的版本库显示提交日志mer oe合并两个或更多开发历史移动或重命名一个文件、目录或符号链接pulL获取并整合另外的版本厍或一个本地分支pus更新远程引用和相关的对象ebase本地提交转移至更新后的上游分支中reset軍置当前HED到指定状态从工作区和索引中删除文件snow各种类型的对象tatus显示工作区状创建、列出、删除或校验一个GP签名的tag对象命令' git help-a!和" git help -g'显示可用的子命令和一些指南。参见t help<命令?或' git help≤指南>来查看给定的子命令帮助或指南loongaubuntu: -S对于下载源代码,我们只需要知道“ clone克隆一个版本库到个新目录”这一条怎么使用就好了。接下来我们开始下载 Skynet的源代码:S ceSgitclonehttps://github.com/cloudwu/skynet.git10/27
用户评论
感谢分享吧,积分要的太多了
谢谢分享。。。
多谢分享~~~
谢谢分享!!!
谢谢分享!!!!!
老版本了,很多地方都不一样了,只是有点参考意义
这书写的很有意思,既有特别菜鸟的地方,又有对源码最基本的解读。新手很值得看看,上手skynet。老手也可能看到一两个基本概念强化理解。 看在skynet的份上,全5星评价!