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,则算编译成功。

  • 相关阅读:
    【Lintcode】112.Remove Duplicates from Sorted List
    【Lintcode】087.Remove Node in Binary Search Tree
    【Lintcode】011.Search Range in Binary Search Tree
    【Lintcode】095.Validate Binary Search Tree
    【Lintcode】069.Binary Tree Level Order Traversal
    【Lintcode】088.Lowest Common Ancestor
    【Lintcode】094.Binary Tree Maximum Path Sum
    【算法总结】二叉树
    库(静态库和动态库)
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/yao2yaoblog/p/6399415.html
Copyright © 2011-2022 走看看