<b>让C++也支持RMI</b>[VC/C++编程]
本文“<b>让C++也支持RMI</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
由于没有近似java的“反射”机制,尺度C++下实现RMI仿佛有些艰难.为C++程序员所熟习的Boost库固然有RCF实现了近似RMI的功效,但RCF本身需依靠于Boost::serlization支持,而serlization需求编译之后方可以利用,且有诸多限制.
本文试图通过C++特有的代码复用机制模拟实现具有近似RMI功效的类库,固然不能完好实现java的RMI功效,但较之以往的C/S编程情势有了很大改变,且文中触及很多C++代码复用技术比方模板,纯虚函数,办法对象等,但愿对C++初学者有一定的帮忙.
作者才疏学浅,若有不当之处还请读者指正.
关键字
RMI,反射,远程办法拜候,虚函数,函数对象,默许模板参数,宏替换.
由一个例子说起
以下实现一个简单的客户端与服务器通讯的例子.例子采取传统的C/S情势,内容很简单,客户端通过调用服务器端的办法向服务器发送数据并接纳返回值.
为便利起见,下面分客户端与服务器辨别介绍实现.
服务器端
步骤1
成立一个类“Calculate”.
class Calculate{
public:
int sum(int a,int b)
{
printf("int范例的sum办法被调用rn");
t1=a;
t2=b;
return (int)(a+b);
}
double sum(double a,double b)
{
printf("double范例的sum办法被调用rn");
t1=a;
t2=b;
return (a+b);
}
int GetInput()
{
int a;
printf("请输入一个整数以便传输至客户端:rn");
scanf("%d",&a);
return a;
}
Student GetStudent(Teacher tt)
{//Student ,Teacher 均为自定义范例
student ts;
ts.age=10;
printf("GetStuden办法被调用rn teacher 的名称以及年纪为: %s %drn",tt.name,tt.age);
strcpy(ts.name,"StudentJim");
ts.sex=1;
return ts;
}
int t1;
int t2;
};
以上是“<b>让C++也支持RMI</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |