文件名称:RPC
- 所属分类:
- 中间件编程
- 资源属性:
- [Windows] [Visual C] [源码]
- 上传时间:
- 2012-11-26
- 文件大小:
- 4.01mb
- 下载次数:
- 0次
- 提 供 者:
- f**
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
一个RPC例子,远程调用一个计算阶乘的函数。具体编写过程如下:
1、创建一个.idl文件, 为应用程序的远地函数定义一个接口。(RpcFact.idl文件)
2、应用程序属性配置文件 (RpcFact.acf文件)
3、用MIDL编译器编译RpcFact.idl文件,在Dos中输入命令midl RpcFact.idl。经过编译之后, 会生成这几个文件: RpcFact.h、RpcFact_s.c 和RpcFact_c.c
4、本例中阶层函数的实现(RpcFact.c文件)
5、服务器及客户端程序(分别为RpcFact_s.c,RpcFact_c.c)。
6、实现RPC函数的存储分配(memstub.h)
7、运行时要添加两个RPC运行库(rpcns4.lib和rpcrt4.lib)。
8、运行程序,先打开服务器程序,再打开客户端程序,出现结果120(5!)。
-err
1、创建一个.idl文件, 为应用程序的远地函数定义一个接口。(RpcFact.idl文件)
2、应用程序属性配置文件 (RpcFact.acf文件)
3、用MIDL编译器编译RpcFact.idl文件,在Dos中输入命令midl RpcFact.idl。经过编译之后, 会生成这几个文件: RpcFact.h、RpcFact_s.c 和RpcFact_c.c
4、本例中阶层函数的实现(RpcFact.c文件)
5、服务器及客户端程序(分别为RpcFact_s.c,RpcFact_c.c)。
6、实现RPC函数的存储分配(memstub.h)
7、运行时要添加两个RPC运行库(rpcns4.lib和rpcrt4.lib)。
8、运行程序,先打开服务器程序,再打开客户端程序,出现结果120(5!)。
-err
(系统自动生成,下载前可以参看下载内容)
下载文件列表
RPCClient
.........\Debug
.........\.....\Rpcfact_c.bsc
.........\.....\Rpcfact_c.exe
.........\.....\Rpcfact_c.ilk
.........\.....\Rpcfact_c.obj
.........\.....\Rpcfact_c.pch
.........\.....\Rpcfact_c.pdb
.........\.....\Rpcfact_c.sbr
.........\.....\vc60.idb
.........\.....\vc60.pdb
.........\memstub.h
.........\RpcFact.acf
.........\Rpcfact.h
.........\RpcFact.idl
.........\Rpcfact_c.cpp
.........\Rpcfact_c.dsp
.........\Rpcfact_c.dsw
.........\Rpcfact_c.ncb
.........\Rpcfact_c.opt
.........\Rpcfact_c.plg
RPCServer
.........\Debug
.........\.....\RpcFact.obj
.........\.....\RpcFact.sbr
.........\.....\Rpcfact_c.obj
.........\.....\Rpcfact_c.sbr
.........\.....\Rpcfact_s.bsc
.........\.....\Rpcfact_s.exe
.........\.....\Rpcfact_s.ilk
.........\.....\Rpcfact_s.obj
.........\.....\Rpcfact_s.pch
.........\.....\Rpcfact_s.pdb
.........\.....\Rpcfact_s.sbr
.........\.....\vc60.idb
.........\.....\vc60.pdb
.........\memstub.h
.........\RpcFact.acf
.........\RpcFact.cpp
.........\Rpcfact.h
.........\RpcFact.idl
.........\Rpcfact_c.cpp
.........\Rpcfact_s.cpp
.........\Rpcfact_s.dsp
.........\Rpcfact_s.dsw
.........\Rpcfact_s.ncb
.........\Rpcfact_s.opt
.........\Rpcfact_s.plg
.........\Debug
.........\.....\Rpcfact_c.bsc
.........\.....\Rpcfact_c.exe
.........\.....\Rpcfact_c.ilk
.........\.....\Rpcfact_c.obj
.........\.....\Rpcfact_c.pch
.........\.....\Rpcfact_c.pdb
.........\.....\Rpcfact_c.sbr
.........\.....\vc60.idb
.........\.....\vc60.pdb
.........\memstub.h
.........\RpcFact.acf
.........\Rpcfact.h
.........\RpcFact.idl
.........\Rpcfact_c.cpp
.........\Rpcfact_c.dsp
.........\Rpcfact_c.dsw
.........\Rpcfact_c.ncb
.........\Rpcfact_c.opt
.........\Rpcfact_c.plg
RPCServer
.........\Debug
.........\.....\RpcFact.obj
.........\.....\RpcFact.sbr
.........\.....\Rpcfact_c.obj
.........\.....\Rpcfact_c.sbr
.........\.....\Rpcfact_s.bsc
.........\.....\Rpcfact_s.exe
.........\.....\Rpcfact_s.ilk
.........\.....\Rpcfact_s.obj
.........\.....\Rpcfact_s.pch
.........\.....\Rpcfact_s.pdb
.........\.....\Rpcfact_s.sbr
.........\.....\vc60.idb
.........\.....\vc60.pdb
.........\memstub.h
.........\RpcFact.acf
.........\RpcFact.cpp
.........\Rpcfact.h
.........\RpcFact.idl
.........\Rpcfact_c.cpp
.........\Rpcfact_s.cpp
.........\Rpcfact_s.dsp
.........\Rpcfact_s.dsw
.........\Rpcfact_s.ncb
.........\Rpcfact_s.opt
.........\Rpcfact_s.plg