ZeroC—ICE分布式数据同步Demo

环境介绍:操作系统:Windows数据库:MySQL 5.6IDE:VS2012ICE版本:3.5.0MySQL Lib版本:5.6.12 配置文件:客户端配置文件 info.conf# IP和端口ServerIP = 127.0.0.1ServerPort = 10000# DateBase信息DataBase = demoiceTable = d
摘要由CSDN通过智能技术生成

环境介绍:

操作系统:Windows

数据库:MySQL 5.6

IDE:VS2012

ICE版本:3.5.0

MySQL Lib版本:5.6.12

 

配置文件:

客户端配置文件 info.conf

# IP和端口
ServerIP = 127.0.0.1
ServerPort = 10000

# DateBase信息
DataBase = demoice
Table = demo
HostName = 127.0.0.1
SqlName = root
SqlPwd = *****


服务器配置文件 serverInfo.conf

# DateBase信息
DataBase = demoICE
Table = syn
HostName = 127.0.0.1
SqlName = root
SqlPwd = ******


 

 

 

数据库脚本:

CREATE TABLE demo(
  name VARCHAR(20) PRIMARY KEY,
  pwd VARCHAR(20) NOT NULL
);

CREATE TABLE syn(
  name VARCHAR(20) PRIMARY KEY,
  pwd VARCHAR(20) NOT NULL
);

 

demo为源数据,syn为同步目标

 

Slice文件:

DBOperator.ice

// **********************************************************************
//
// Author: X_White
//
// **********************************************************************

#pragma once

module dbOperator {
	interface DBOprtr {
		int synDropTab();
		int synAllData();
		int synRowData();
		int synSingleData(string s);
		int transmitData(string s, string index);
	};
};


 

客户端:

Client.cpp

// **********************************************************************
//
// Copyright (c) 2003-2013 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************

#include <Ice/Ice.h>
#include <Printer.h>
#include <DBOperator.h>

#include <cstdio>
#include <iostream>
#include <cstring>
#include <time.h>
#include <WinSock2.h>
#include <mysql.h>
#include <vector>

#pragma comment(lib, "libmysql.lib")

using namespace std;
using namespace Demo;
using namespace dbOperator;

typedef struct synData {
	int count;
	char data[20][20];
}synData;

void ice_strcpy(char *src, char *des) {
	size_t i;
	size_t len1 = strlen(src);
	size_t len2 = strlen(des);
	for(i = 0; i < len2; i++) {
		src[i] = des[i];
	}
	src[i] = '\0';
}

int writeLog() {
	return 0;
}

/*
 * Author:X_White
 * initConf读取配置文件info.conf 并返回serverIP、端口号、数据库dbName、表名
 *
*/
int initConf(char *desIP, char *desPort, char *dbName, char *tableName, char *hostName, char *sqlName, char *sqlPwd) {
	FILE *conffp;
	errno_t err;
	char buf[1024];
	err = freopen_s(&conffp, "../conf/info.conf", "r", stdin);
	if(err != 0) {
		writeLog();
		exit(1);
	}
	while(gets_s(buf)) {
		if('#' == buf[0]) continue;
		char n1[128], n2[128], equ[128];
		memset(n1
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
"Zeroc Ice权威指南"是一本详细介绍Zeroc Ice框架的权威指南。Zeroc Ice是一个跨平台的分布式对象中间件,它提供了强大的通信机制和丰富的功能,使得分布式系统的开发更加简单和高效。 这本指南首先介绍了Zeroc Ice框架的背景和基本概念,包括对象适配器、服务接口、代理和通信模型等。随后,它详细讲解了Zeroc Ice框架的核心特性,如冰协议、冰片IDL语言、冰箱工具和运行时环境等。 在深入介绍了Zeroc Ice框架的基本知识后,指南开始介绍如何使用Zeroc Ice进行分布式系统的开发。它提供了大量的示例代码和实用技巧,帮助读者理解和掌握Zeroc Ice框架的使用方法。同时,指南还介绍了Zeroc Ice的扩展性和性能优化,以及与其他技术的集成和应用场景。 "Zeroc Ice权威指南"的作者具有丰富的实战经验和深入的技术理解,他们以清晰简洁的语言和实用的示例,将复杂的技术概念和实现方式向读者传达。无论是初学者还是有一定经验的开发人员,都可以从这本指南中获得有益的知识和实践经验。 总之,"Zeroc Ice权威指南"是一本对Zeroc Ice框架进行全面介绍和指导的权威指南。它的内容丰富,结构清晰,适合广大开发人员学习和使用Zeroc Ice进行分布式系统开发。阅读本指南可以帮助读者快速入门Zeroc Ice并掌握其核心特性和最佳实践,提高分布式系统开发的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值