zoukankan      html  css  js  c++  java
  • 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,则算编译成功。

  • 相关阅读:
    C# Task.Run 和 Task.Factory.StartNew 区别
    数据库面试题(实时更新)
    python面试题(实时更新)
    opencv简介以及环境搭建
    Django分页器
    django的开发环境
    Django简介以及MVC模式
    Virtualbox修改虚拟机分配内存的大小
    深浅拷贝
    react-native-typescript-项目环境搭建
  • 原文地址:https://www.cnblogs.com/yao2yaoblog/p/6399415.html
Copyright © 2011-2022 走看看