C语言连接zookeeper客户端(不能完全参考官网教程)

准备过程

1.通过VStudio 远程连接linux的开发环境;

2.g++环境,通过MingW安装;

3.必须要安装好pthread.h的环境,不管是windows端(linux 可视化端开发就不管这个)还是linux端;

4.需要准备zookeeper源码,放在linux端,进入C客户端,利用C编译安装在linux端,找到Include和lib复制到windows项目;

5.项目的链接器的命令行需要添加-pthread,不然会报错

创建节点,C代码示例

c 复制代码
//下面三个是来源于编译好的zookeeper
//注意:不要直接在项目中使用zookeeper源码
#include "zookeeper.h"
#include "zookeeper_log.h"
#include "zookeeper.jute.h"

#include <stdio.h>
#include <unistd.h>

const char* host_list = "10.8.16.19:2181,10.8.16.18:2181,10.8.16.17:2181";
static void zk_watcher(zhandle_t* zh, int type, int state, const char* path, void* watcherCtx)
{
    printf("zk_watcher: [type=%d] [state=%d] [path=%s] [watcher_ctx=%p]\n", type, state, path, watcherCtx);
}
int main()
{
    int time_out = 20000;
    zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG);

    zhandle_t* zkhandle = zookeeper_init(host_list, zk_watcher, time_out, 0, 0, 0);
    if (!zkhandle) {
        printf("main: 连接失败\n");
        return -1;
    }
  

    //struct ACL CREATE_ONLY_ACL[] = { {ZOO_PERM_CREATE, ZOO_AUTH_IDS} }; //可以通过数组的方式
    struct ACL CREATE_ONLY_ACL = { ZOO_PERM_CREATE, ZOO_AUTH_IDS} ;

    struct ACL_vector CREATE_ONLY = { 1, &CREATE_ONLY_ACL };

	//没有下面的zoo_get_acl后面创建/test/xyz不成功,
    struct Stat stat;
    int uu=zoo_get_acl(zkhandle, "/test", &CREATE_ONLY, &stat);
    printf("get_acl:%d\n", uu);


    int rc = zoo_create(zkhandle, "/test/xyz", "5569", 6, &CREATE_ONLY, ZOO_SEQUENCE, NULL,0); //ZOO_SEQUENCE 才能查看到内容

    printf("create:%d\n", rc); //返回0表示操作成功

  
    zookeeper_close(zkhandle);


    return 0;
}
相关推荐
cpsvps_net4 小时前
美国服务器环境下Windows容器工作负载智能弹性伸缩
windows
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
艾莉丝努力练剑5 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
cpsvps6 小时前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
Cx330❀7 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
..过云雨8 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
网硕互联的小客服9 小时前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
etcix9 小时前
implement copy file content to clipboard on Windows
windows·stm32·单片机
谱写秋天10 小时前
在STM32F103上进行FreeRTOS移植和配置(STM32CubeIDE)
c语言·stm32·单片机·freertos
我不是板神10 小时前
程序设计|C语言教学——C语言基础2:计算与控制语句
c语言