Windows C++ SDK

最近更新时间:2019-05-31 14:14:29

操作场景

本文为您介绍如何在 Windows(x64) 系统上操作 Tcaplus Protobuf API。

运行环境

  • 操作系统:Microsoft Windows x86_64
  • 编译环境:Microsoft Visual Studio 2015 (VC14.0)

操作步骤

下载软件包

  1. 下载依赖包和 Tcaplus Protobuf API 软件包,参见 SDK 下载
  2. 解压缩,以下是软件包的结构。
    Tcaplus_PbAPI_3.32.0.171987_Win64Vc14MT_Release_20180413
    |-- cfg                                                 # 配置目录
    |-- docs                                                # 文档目录
    |   `-- tcaplus
    |-- include                                             # 依赖头文件目录
    |   `-- tcaplus_pb_api
    |-- lib                                                 # 库目录
    |    |-- Debug
    |    `-- Release
    |-- examples                                            # 示例目录
    `-- tcaplus
        |-- C++_common_for_pb2                           # 示例公共头文件目录
        |-- C++_pb2_asyncmode_simpletable                # 异步模式的pb简单表示例
        |-- C++_pb2_coroutine_simpletable                # 协程模式的pb简单表示例

准备

  1. 请确保已经在 腾讯云 TcaplusDB 开通了游戏业务,并且已经获取到对应的 App 信息(例如:AppId、ZoneId、AppKey)。
  2. 解压缩依赖包并安装,本文以TSF4G_BASE-2.7.28.164975_Win64Vc14Mt_Release.zip依赖包为例,实际以 Windows 平台依赖包下载 提供的依赖包为准。
    假设安装的根路径是 D:\Tencent\tsf4gMT,相关文件将会被安装到 D:\Tencent\tsf4gMT\win64vc14MT路径下。
  3. 编译并安装Porotbuf-3.5.1
  4. 编译并安装OpenSSL-1.1.0f
  5. 设置环境变量。
    • TSF4G_HOME="D:\Tencent\tsf4gMT"
    • PROTOBUF_HOME="D:\protobuf-3.5.1"
    • OPENSSL_HOME="D:\openssl-1.1.0f"

构建

  1. 解压缩 Tcaplus Pb API 安装包。

  2. examples/tcaplus/C++_common_for_pb2/common.h 文件中设置 App 信息。

    • Tcapdir 接入点地址列表 - DIR_URL_ARRAY
    • Tcapdir 接入点地址个数 - DIR_URL_COUNT
    • 用户表名,使用之前用户需要预先使用示例目录中的 table_test.xml 文件创建表 - TABLE_NAME
    • 用户业务 ID - APP_ID
    • 用户业务区服 ID - ZONE_ID
    • 用户业务密码 - SIGNATURE
    //examples/tcaplus/C++_common_for_pb2/common.h
    /******************用户自定义****************************/
    // Tcapdir 接入点地址列表
    static const char DIR_URL_ARRAY[][TCAPLUS_MAX_STRING_LENGTH] =
    {
       "tcp://10.125.32.21:9999"
    };
    // Tcapdir 接入点地址个数
    static const int32_t DIR_URL_COUNT = 1;
    // 用户表名
    static const char * TABLE_NAME = "tb_online";
    // 用户业务ID
    static const int32_t APP_ID = 4;
    // 用户业务区服ID
    static const int32_t ZONE_ID = 1;
    // 用户业务密码
    static const char * SIGNATURE = "8e24269ba91f433ca7e89b1cbb77368e";
    /******************用户自定义******************************/
  3. examples\tcaplus\C++_pb2_coroutine_simpletable\SingleOperation\set为例。

    set/
    |-- main.cpp                              # 示例主函数代码
    |-- readme.txt
    |-- table_test.proto                        # T表定义proto文件,表需要预先创建
    |-- pb_co_set.sln                           # 项目VisualSudio解决方案文件
    |-- pb_co_set.vcxproj                       # 项目VisualSudio工程文件
    |-- proto_generate.cmd                      # 编译proto文件脚本
    `-- tlogconf.xml
    • 首先,确认已经使用table_test.proto在目标 App 中创建表成功。
    • 执行proto_generate.cmd脚本,在当前路径下生成依赖文件。
      • table_test.pb.cc
      • table_test.pb.h
    • 在 Microsoft Visual Studio 2015 中打开项目文件pb_co_set.sln
    • 生成解决方案。
    • 如果没有错误产生,在examples\tcaplus\C++_pb2_coroutine_simpletable\SingleOperation\set/x64路径下将会生成可执行文件pb_co_set.exe

测试

  1. 拷贝pb_co_set.exetlogconf.xml两个文件到同一目录下。
  2. 切换administrator身份并使用 cmd.exe 或 powershell.exe 运行可执行文件pb_co_set.exe
  3. 检查输出。
  4. 如果需要了解运行详细信息,请查看日志文件tcaplus_pb.log
  5. 如果需要运行*_crypto示例,请确保libcrypto-1_1-x64.dll文件在系统 Path 路径下,这个文件能够在 openssl 的编译目录下找到。
    Output

Tcaplus Pb API 命令列表

Tcaplus Pb API 支持多种类型操作,支持异步和协程模式,用户可以在示例中找到对应的用法。以下是 Tcaplus Pb API 命令列表:

命令 描述
SET 通过指定一条记录所有主键设置一条记录。如果记录存在执行覆盖操作,否则执行插入操作。
GET 从一个 Tcaplus pb 表中通过指定一条记录所有主键查询一条记录,如果数据记录不存在,将会返回错误。
ADD 通过指定一条记录所有主键插入一条记录。如果记录存在返回错误。
DELETE 通过指定一条记录的所有主键删除此记录,如果数据不存在则返回错误。
BATCHGET 从一个 Tcaplus pb 表中通过指定多组主键查询多条记录。
TRAVERSE 遍历一个 Tcaplus pb 表,将返回多条记录。
FIELDGET 从一个 Tcaplus pb 表中通过指定一条记录所有主键查询一条记录。本操作只查询和传输用户指定的字段的值,减少网络传输流量。如果数据记录不存在,将会返回错误。
FIELDSET 通过指定一条记录的所有主键修改指定字段,只传输指定字段的值。减轻网络流量。如果数据记录存在,将执行更新操作,否则将会返回错误。
FIELDINC 通过指定一条记录的所有主键对指定的字段进行自增操作,此命令字仅支持 int32,int64,uint32 和 uint64 类型字段。特性与 FIELDSET 类似。
GETBYPARTKEY 通过指定部分主键,查询符合条件的多条数据,主键集合必须在建表的时候创建了索引,否则会返回错误。