怎么免費(fèi)建立一個(gè)網(wǎng)站蕁麻疹怎么治療能除根
準(zhǔn)備過(guò)程
1.通過(guò)VStudio 遠(yuǎn)程連接linux的開(kāi)發(fā)環(huán)境;
2.g++環(huán)境,通過(guò)MingW安裝;
3.必須要安裝好pthread.h的環(huán)境,不管是windows端(linux 可視化端開(kāi)發(fā)就不管這個(gè))還是linux端;
4.需要準(zhǔn)備zookeeper源碼,放在linux端,進(jìn)入C客戶端,利用C編譯安裝在linux端,找到Include和lib復(fù)制到windows項(xiàng)目;
5.項(xiàng)目的鏈接器的命令行需要添加-pthread,不然會(huì)報(bào)錯(cuò)
創(chuàng)建節(jié)點(diǎn),C代碼示例
//下面三個(gè)是來(lái)源于編譯好的zookeeper
//注意:不要直接在項(xiàng)目中使用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} }; //可以通過(guò)數(shù)組的方式struct ACL CREATE_ONLY_ACL = { ZOO_PERM_CREATE, ZOO_AUTH_IDS} ;struct ACL_vector CREATE_ONLY = { 1, &CREATE_ONLY_ACL };//沒(méi)有下面的zoo_get_acl后面創(chuàng)建/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 才能查看到內(nèi)容printf("create:%d\n", rc); //返回0表示操作成功zookeeper_close(zkhandle);return 0;
}