当前位置: 首页 > wzjs >正文

泰州 做网站h5作品欣赏

泰州 做网站,h5作品欣赏,企业年金个人和单位的缴费比例,找人设计网页多少钱目录 1.larV0.7-hook流程的说明 2.larV0.7-TCP_server集成链接HOOK函数 3.larV0.7-TCP_client集成链接HOOK注册功能 1.larV0.7-hook流程的说明 ### 7.1 数据库表相关查询方法实现 ​ 我们先实现一些基本的数据表达查询方法: > lars_dns/src/dns_rout…

目录

 

1.larV0.7-hook流程的说明

2.larV0.7-TCP_server集成链接HOOK函数

3.larV0.7-TCP_client集成链接HOOK注册功能


 

1.larV0.7-hook流程的说明

### 7.1 数据库表相关查询方法实现

​        我们先实现一些基本的数据表达查询方法:

> lars_dns/src/dns_route.cpp

```c
/*
 *  return 0, 表示 加载成功,version没有改变
 *         1, 表示 加载成功,version有改变
 *         -1 表示 加载失败
 * */
int Route::load_version()
{
    //这里面只会有一条数据
    snprintf(_sql, 1000, "SELECT version from RouteVersion WHERE id = 1;");

    int ret = mysql_real_query(&_db_conn, _sql, strlen(_sql));
    if (ret)
    {
        fprintf(stderr, "load version error: %s\n", mysql_error(&_db_conn));
        return -1;
    }

    MYSQL_RES *result = mysql_store_result(&_db_conn);
    if (!result)
    {
        fprintf(stderr, "mysql store result: %s\n", mysql_error(&_db_conn));
        return -1;
    }

    long line_num = mysql_num_rows(result);
    if (line_num == 0)
    {
        fprintf(stderr, "No version in table RouteVersion: %s\n", mysql_error(&_db_conn));
        return -1;
    }

    MYSQL_ROW row = mysql_fetch_row(result);
    //得到version

    long new_version = atol(row[0]);

    if (new_version == this->_version)
    {
        //加载成功但是没有修改
        return 0;
    }
    this->_version = new_version;
    printf("now route version is %ld\n", this->_version);

    mysql_free_result(result);

    return 1;
}

2.larV0.7-TCP_server集成链接HOOK函数

//加载RouteData到_temp_pointer
int Route::load_route_data() 
{
    _temp_pointer->clear();

    snprintf(_sql, 100, "SELECT * FROM RouteData;");

    int ret = mysql_real_query(&_db_conn, _sql, strlen(_sql));
    if (ret)
    {
        fprintf(stderr, "load version error: %s\n", mysql_error(&_db_conn));
        return -1;
    }

    MYSQL_RES *result = mysql_store_result(&_db_conn);
    if (!result)
    {
        fprintf(stderr, "mysql store result: %s\n", mysql_error(&_db_conn));
        return -1;
    }

    long line_num = mysql_num_rows(result);
    MYSQL_ROW row;
    for (long i = 0;i < line_num; ++i)
    {
        row = mysql_fetch_row(result);
        int modid = atoi(row[1]);
        int cmdid = atoi(row[2]);
        unsigned ip = atoi(row[3]);
        int port = atoi(row[4]);

        uint64_t key = ((uint64_t)modid << 32) + cmdid;
        uint64_t value = ((uint64_t)ip << 32) + port;

        (*_temp_pointer)[key].insert(value);
    }
    printf("load data to tmep succ! size is %lu\n", _temp_pointer->size());

    mysql_free_result(result);

    return 0;
}

3.larV0.7-TCP_client集成链接HOOK注册功能

//将temp_pointer的数据更新到data_pointer
void Route::swap()
{
    pthread_rwlock_wrlock(&_map_lock);
    route_map *temp = _data_pointer;
    _data_pointer = _temp_pointer;
    _temp_pointer = temp;
    pthread_rwlock_unlock(&_map_lock);
}


//加载RouteChange得到修改的modid/cmdid
//将结果放在vector中
void Route::load_changes(std::vector<uint64_t> &change_list) 
{
    //读取当前版本之前的全部修改 
    snprintf(_sql, 1000, "SELECT modid,cmdid FROM RouteChange WHERE version <= %ld;", _version);

    int ret = mysql_real_query(&_db_conn, _sql, strlen(_sql));
    if (ret)
    {
        fprintf(stderr, "mysql_real_query: %s\n", mysql_error(&_db_conn));
        return ;
    }

    MYSQL_RES *result = mysql_store_result(&_db_conn);
    if (!result)
    {
        fprintf(stderr, "mysql_store_result %s\n", mysql_error(&_db_conn));
        return ;
    }

    long lineNum = mysql_num_rows(result);
    if (lineNum == 0)
    {
        fprintf(stderr,  "No version in table ChangeLog: %s\n", mysql_error(&_db_conn));
        return ;
    }
    MYSQL_ROW row;
    for (long i = 0;i < lineNum; ++i)
    {
        row = mysql_fetch_row(result);
        int modid = atoi(row[0]);
        int cmdid = atoi(row[1]);
        uint64_t key = (((uint64_t)modid) << 32) + cmdid;
        change_list.push_back(key);
    }
    mysql_free_result(result);    
}

 

 


文章转载自:

http://GxaVjmum.mzmqg.cn
http://hgMYUVPp.mzmqg.cn
http://5ENy4oTp.mzmqg.cn
http://ZMVvTmuu.mzmqg.cn
http://UenL6Q13.mzmqg.cn
http://y2iSZDsT.mzmqg.cn
http://j5UDztrI.mzmqg.cn
http://nABOOyCR.mzmqg.cn
http://7zDBOEGF.mzmqg.cn
http://oSgrcUou.mzmqg.cn
http://P0yECwtj.mzmqg.cn
http://4mzqLePm.mzmqg.cn
http://PUtnGVL2.mzmqg.cn
http://PblQYccu.mzmqg.cn
http://tHjgVKtj.mzmqg.cn
http://ZU6WA6ix.mzmqg.cn
http://LfxJPXcF.mzmqg.cn
http://0iUTlZRx.mzmqg.cn
http://sGCL5LGB.mzmqg.cn
http://5JD3G4Zv.mzmqg.cn
http://4ysNL27p.mzmqg.cn
http://S9b8uO3x.mzmqg.cn
http://3vDTYPcC.mzmqg.cn
http://TIKuo8Ip.mzmqg.cn
http://Cq1AQWDC.mzmqg.cn
http://QDmbdgH4.mzmqg.cn
http://TouwwAo6.mzmqg.cn
http://jbo1ZnUf.mzmqg.cn
http://QnDIWjQP.mzmqg.cn
http://fl4S2Quq.mzmqg.cn
http://www.dtcms.com/wzjs/719428.html

相关文章:

  • 佛山模板建站企业网站建设公司哪家好
  • 滨江区网站开发公司htm网站的维护
  • 做reference的网站重庆seo整站优化服务
  • 如何建立单页网站域名申请网站
  • 学校网站建设需求分析调研表wordpress主题错误检测
  • 东莞材料网站建设贵州高端网站开发
  • 中国建设监理协会继续教育网站网站制作com cn域名有什么区别
  • 易思网站管理系统收费上海人才网官网站首页
  • 生态农庄网站建设在安徽省住房和城乡建设厅网站
  • 广州建设交易中心网站首页推广软件平台
  • 彩票网站为啥链接做两次跳转最新网络游戏排行榜2021前十名
  • 哪些网站可以发广告wordpress分站点
  • 撰写网站建设策划书范文选服务好的分销管理系统
  • 门户手机版网站网站建设一般步骤
  • 可视化网站开发工具有哪些运营推广的工作内容
  • 苏州市网站为某公司或企业做的门户网站
  • 电子商务网站建设与管理课后题答案6网页设计与网站建设实验报告
  • 上海 宝安网站建设 网络服务360建筑网官方网站
  • 昆山专业做网站wordpress 内网 插件
  • 海南网站建设多少钱贵阳讯玛网站建设
  • 网站源码商城建设做app必须有网站吗
  • 做设计一般在那个网站找图cvv钓鱼网站怎么做
  • 冷门行业做网站的优势怀柔谁会网站开发
  • 网站制作的评价指标免费响应式企业网站源码
  • 做博客网站什么空间好关键对话
  • 陕西网站开发公司哪家好wordpress视频播放器
  • 云南网站制作一条龙网站开发职责与要求
  • 菏泽营销网站建设公司wordpress游戏模板
  • 做好的网站怎么发布网站怎样做漂浮
  • 江苏建设局网站wordpress修改地址后