rpc分布式实验指导书

rpc分布式实验指导书

ID:22260035

大小:127.00 KB

页数:6页

时间:2018-10-28

rpc分布式实验指导书_第1页
rpc分布式实验指导书_第2页
rpc分布式实验指导书_第3页
rpc分布式实验指导书_第4页
rpc分布式实验指导书_第5页
资源描述:

《rpc分布式实验指导书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实现一个RPC应用程序㈠实验内容创建一个简单的客户机——服务器的分布式应用程序,实现客户应用程序在一个远程过程调用中,向服务器传递一个整数,经过服务器端求阶乘后,将最终结果从客户机端输出。㈡处理流程2.1开发接口,具体步骤包括:2.1.1创建接口模板在命令行方式下运行uuidgen工具,生成文件Rpctest.idlD:ProgramFilesMicrosoftVisualStudioCommonTools>uuidgen/I/oRpctest.idlSolark:uuidgen/I/oRpctest.idl书写要注意uuidg

2、en空格/I空格/oRpctest.idl其中参数o和Rpctest.idl中间没有空格。执行后,Rpctest.idl中内容为:[uuid(698cb6d9-df44-41a7-a66f-addc7e731fe1),version(1.0),]interfaceINTERFACENAME{}2.1.2替换Rpctest.idl中接口的定义(原来是:interfaceINTERFACENAME),改为:interfaceRpctest{//远程过程调用的求阶乘函数longRpcFactorial([in]longnVal);//出现[]

3、的部分表示属性voidShutdown(void);//终止服务器程序函数Shutdown必须要}2.1.3使用文本编辑器编写ACF(属性配置文件),Rpctest.acf[implicit_handle(handle_tRpctest_IfHandle)//这个必须要,用来连接服务器和客户端的]interfaceRpctest//solark:要和idl中接口名称一致{}2.1.4使用MIDL编译器进行编译(注:Rpctest.idl和Rpctest.acf都放Bin目录下)在命令行方式下运行MIDL.EXE,D:ProgramFi

4、lesMicrosoftVisualStudioVC98Bin>midlRpctest.idl编译后生成文件Rpctest.h、Rpctest_c.c、Rpctest_s.cSolark:此处还有一个办法:创建一个空的工程,如RpcTest将编辑好的Rpctest.idl文件添加至RpcTest项目中。然后,直接进行编译。这时就可以看到RpcTest项目的生成目录下有了Rpctest.h、Rpctest_c.c、Rpctest_s.c三个文件。2.2.开发服务器程序,具体步骤包括:2.2.1VC环境下建一个空工程(win32con

5、soleapplication)Rpctestserver,把Rpctest.h、Rpctest.idl、Rpctest.acf和Rpctest_s.c放到这个项目下面,然后导入Rpctest.hRpctest_s.c另外两个不导入也可以的创建memstub.h(内存管理函数,memstub.h内容固定,除头文件外无需改变)2.2.2实现具体的接口函数功能新建文件Rpctest_s_f.c中实现阶乘函数;同时Rpctest_s_f.c中也包括了终止服务器程序函数Shutdown2.2.3编写服务器源程序Rpctest_s.c一点都不改变

6、。添加一个新文件main.cpp里面放main()函数.main()函数里代码负责建立RPC接口的捆绑,并用名称服务程序来注册它们及侦听RPC请求.Server端也与RPCruntime连接.2.2.4在VC环境下编译和链接服务器端程序,最终生成Rpctestserver.exe文件(在Debug文件里面)注:在VC中Project->Settings->Link中添加两个RPC运行库:rpcrt4.lib和rpcns4.lib编译工程生成Rpctestserver.exe,更名为server.exe(rpcns4.lib名字服务函数;

7、rpcrt4.lib32位Windows运行期函数)3.开发客户机程序,具体步骤包括:2.3.1VC环境下建一个空项目Rpctestclient,把Rpctest.h、Rpctest.idl、Rpctest.acf和Rpctest_c.c放到这个项目下面,然后导入Rpctest.hRpctest_c.c另外两个不导入也可以的创建memstub.h(内存管理函数,memstub.h内容固定,除头文件外无需改变)2.3.2Rpctest_s.c一点都不改变。添加一个新文件main_c.cpp里面放main()函数。main()函数里代码负责

8、连接服务器和调用远程函数2.3.3在VC环境下编译和链接客户端程序,最终生成Rpctestclient.exe文件(在Debug文件里面)注:同上,也需在此工程中添加rpcrt4.lib和rpcns4.li

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。