zoukankan      html  css  js  c++  java
  • plain framework 1 一款主要用于网络(游戏)开发的C/C++开源框架 安装篇 updated

    上次介绍了一下plain framework的基础相关资料,今天该框架正式开源发布。项目的地址托管于github上,我相信大多数朋友都应该知道。今天要介绍的是该框架的目录基本结构,以及分别在linux以及windows平台上安装的例子。为了让初学或者技术不是太扎实的朋友也能快速上手,我在这里一步步从开发环境的搭建讲述到第一个比较完整的示例(网关服务器),每一步都是今日从空白的系统开始及时操作,由简入深,如果大家不太明白请到交流群询问。

    更新日志

      2015年1月10日 更新lnmp安装脚本,兼容最新centos7以上系统,原网盘地址

    源码地址

      https://github.com/viticm/plainframework1

    目录结构

      

    框架基本介绍

      地址:http://www.cnblogs.com/lianyue/p/3972492.html

    参考手册

      参考手册正在编写过程中,会第一时间先同步到博客上,由于这些文章可能上不了首页,感兴趣的朋友不妨关注博客。

    持续更新

      如果框架发现了新的BUG或者有内容更新,将会持续同步到github项目上。

    LINUX INSTALL

      本次选用的linux系统为centos(6.5),你可以尝试其他linux系统也可。安装好linux系统,或者已经存在linux系统的情况下,那么我们开始搭建lnmp环境(web开发环境)。你可以在网络上去寻找相关的资料,或者使用我提供的脚本进行安装,不过php版本最好为5.4以上版本,这是为以后扩展预留。

      首先你要确保你的系统中安装了git,如果没有安装请用以下命令安装(需联网):

    yum -y install git

    其次将框架源码安装到你的开发目录中,如:

    cd ~ && mkdir work #进入用户主目录,并创建工作目录
    cd work && git clone https://github.com/viticm/plainframework1

      1、使用框架内的脚本进行在线安装(必须使用root权限安装)

    cd plainframework1/tools/script/linux/install/ && sudo sh install_web_develop.sh

      2、使用提供的离线包及脚本进行离线安装(必须使用root权限,没有网络的需注意以下说明)

        可以到百度云盘去取该离线安装包链接:http://pan.baidu.com/s/1pJwnHn9 密码:sa9h

        将包放到/web目录下并解压,命令如下:

    mkdir -p /web && cd /web && tar -xjvf web.tar.bz2

        如果没有网络的情况下,你保证了安装gcc、g++、cmake等必要的工具之后,设置脚本install_web_develop.sh的cDownload=on参数为off。

        运行脚本进行安装(大约30~50分钟):

    sh install_web_develop.sh #运行脚本

        安装成功截图:

      

        安装成功后,再安装框架的开发环境(使用root安装):

    cd tools/script/linux/install/ && sh install_environment.sh --full

       开发环境成功截图:

      创建用户数据库(网关服务器用):

    cd ~/work/plainframework1/tools/script/sql/ #进入脚本目录
    mysql -uroot -pmysql #进入mysql命令行
    
    mysql> CREATE DATABASE sword_user DEFAULT CHARSET UTF8; //创建数据库
    
    mysql> source sword_user.sql; //执行脚本

      配置数据源:

    vim /etc/odbc.ini #编辑配置文件

      最终的配置如下,其实可以不更改:

    [sword_user]
    Driver          = /usr/local/lib/mysqlodbc/libmyodbc5a.so
    DATABASE        = sword_user
    DESCRIPTION     = MySQL ODBC 5.3 Ansi Driver test
    SERVER          = localhost
    UID             = root
    PASSWORD        = 
    SOCKET          = 
    
    [sword_character]
    Driver          = /usr/local/lib/mysqlodbc/libmyodbc5a.so
    DATABASE        = sword_character
    DESCRIPTION     = MySQL ODBC 5.3 Ansi Driver test
    SERVER          = localhost
    UID             = root
    PASSWORD        = 
    SOCKET          = 

    编译框架

      框架使用了cmake等工具编译,如果你使用了我提供的脚本那么编译环境可以不用自己配置。

      1、编译依赖

    cd ~/work/plainframework1/pf/dependencies/lua/ #lua
    cmake ./
    make
    cd ~/work/plainframework1/pf/dependencies/iconv/ #iconv
    cmake ./
    make

      2、编译框架核心

    cd ~/work/plainframework1/pf/core/
    cmake ./
    make

    编译完整示例

      完整示例中提供了一个网关服务器,其中用到了网络、数据库等核心接口。

    cd ~/work/plainframework1/applications/gateway/
    cmake ./
    make

    运行示例

      1、拷贝运行库

    cd ~/work/plainframework1/applications/bin/
    cp ~/work/plainframework1/pf/dependencies/dll/lib*.so ./
    cp ~/work/plainframework1/pf/core/dll/libpf_core.so ./

      2、配置文件

    cd ~/work/plainframework1/applications/bin/
    vim config/gateway_info.ini
    [System]
    DBIP=localhost
    DBPort=3306
    DBConnectionOrDBName=sword_user; 连接或数据库名称
    DBUser=root
    DBPassword=mysql
    DBConnectorType=0; 连接类型 0 odbc,  1 mysql, 2 sqlserver, 3 mongodb(现在只实现了ODBC)
    EncryptDBPassword=0; 是否加密了数据库密码
    NetListenIP=127.0.0.1; 网络监听IP
    NetListenPort=12680; 网络监听端口
    NetConnectionMax=10240; 最大支持的网络连接数量

      3、运行

    cd ~/work/plainframework1/applications/bin/
    ./gateway

    RESULT:

    WINDOWS INSTALL

      在windows上安装开发环境就相对比较容易了,因为不是使用源码编译安装的。我在这里使用的是wamp作为web开发环境,而odbc则是使用系统自带的odbc32位,如果你的机器不是64位的则没有关系。如果你想将框架和应用编译为64位则使用64位的ODBC,至于原因我就不解释了。

    源码下载

      如果用github朋友比较多的可以使用github的客户端,打开源码连接后:

    PHP环境变量设置

      将PHP的执行文件的路径设置到你的环境变量中,为了运行框架中的一些脚本,比较重要。

     

    编译框架

      由于vs编译时对重复的文件名则不能正确的链接到目标中,而框架中则存在了许多重复的文件名,所以这里使用到了为windows编译的工具。

      路径: toolsscriptat ename_forvsbuild.bat

      双击打开,然后输入选项如下:

    回车等待工具执行完成:

      进入pfcorescripts打开工程pf_core.vc9.sln进行编译(目前只支持release编译),当然你可以将此工程转换为vs的其他版本。

    编译例子

      同编译框架一样,例子的编译也需要重写项目文件。

      打开toolsscriptat ename_forvsbuild.bat

      revert to standard是否还原为标准的,不用输入,直接回车,第二次执行该操作时工程将自动还原。

      打开工程文件applicationsgatewayscriptsgateway.vc9.sln进行编译。

    安装mysql的odbc driver

      地址为:http://dev.mysql.com/downloads/connector/odbc/ 版本3.5以上的即可

    创建数据库

      创建名为sword_user的数据库,编码设置为odbc,并在该数据库下执行脚本toolsscriptsqlsword_user.sql。

    配置ODBC

      由于我使用的是32位的应用,所以使用32位的ODBC,如图:

      添加你的mysql连接信息如下,连接名为sword_user:

    运行示例

      拷贝依赖和框架的动态库到applicationsin目录下。

      依赖动态库:pfdependenciesdllRelease

      框架动态库:pfcoredllRelease

      保证mysql和数据库成功的前提下运行gateway.exe

    RESULT

     成员招募(长期有效)

      如果你也对开源知识比较感兴趣,如果也对网络应用或者网络游戏感兴趣,如果你也对该框架感兴趣,你可以加入我们的QQ群(348477824)。

      欢迎大家进群相互交流学习,同时也欢迎各位朋友对该框架供出自己的一份心力。

  • 相关阅读:
    Linux基本命令(一)
    Linux基本命令(一)
    前端js实现打印excel表格
    前端js实现打印excel表格
    前端js实现打印excel表格
    前端js实现打印(导出)excel表格
    前端js实现打印(导出)excel表格
    混合开发中拍照和打电话功能的代码
    混合开发中拍照和打电话功能的代码
    操作系统的发展史(科普章节)
  • 原文地址:https://www.cnblogs.com/lianyue/p/3974342.html
Copyright © 2011-2022 走看看