DCOM配置方法及其DCOM并行计算程序的构建.doc

DCOM配置方法及其DCOM并行计算程序的构建.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DCOM配置方法及其DCOM并行计算程序的构建.doc

感谢焦龙同学的耐心讲解~~~~ 1. 如何搭建DCOM编程、运行环境 N台机器的用户名和密码必须相同。最好是用Administrator 进入VC++6.0,打开HelloDcom.dsw,组建工具栏调出来。 程序全编译一遍 Server - 组建-全部组建 PSAddSub - 工具- Register Control 至此配置完成 看两台机器是否可以进行DCOM访问: 网上邻居: 看访问125.223.8.122是否成功,进入工作组,输入如下: 出现如下就证明可以进行通信了。 本机IP = 125.223.8.113。测试的时候这里添加自己的IP号就行。如果想连接对方(125.223.8.122),就填对方的IP号即可。这只是一个例子,测试程序而已。以后讲到的IP访问将不是这个样子。 运行 2. 如何新建立一个DCOM工程。 Parallel Mesh Search=PMS,原地盖高楼。 之前那些事对于例子程序的调通,下面是如何新建立一个DCOM工程。 DCOM工程大概分为3个子工程:Server端、代理DLL、Client端。这3部分分别要建立3个工程。 2.1 建立Server端 先建立一个空白的工作区 再新建Server端工程PMS 组件接口函数的定义 HRESULT Para_MeshSearch( [in] long length, [in,size_is(length)] long* raw_Array, [out,size_is(length)] long* back_Array ); 组件接口函数的声明 在public:里面加入一句话STDMETHOD(Para_MeshSearch)( long length, long* raw_Array, long* back_Array); 组件接口函数的实现 向此文件中添加: STDMETHODIMP CPMSCom::Para_MeshSearch(long length, long* rawArray, long* outArray) { //函数功能 return NOERROR; } 注意,在编写PMSCom.cpp也就是Server端代码的时候,接口函数中数组rawArray是一个long*类型,在接口函数中不用重新给这个rawArray分配空间。因为调用这个函数的时候实参是一个具体数组。 组件注册:一般地,编译完成服务器自动注册 选中PMSCom.cpp,再编译! 2.2 建立代理/存根DLL 这2.2节都是在PSPMS工程中的操作。再新建一个工程PSPMS 向PSPMS.def中添加如下内容: LIBRARY PSPMS EXPORTS DllGetClassObject PRIVATE DllCanUnloadNow PRIVATE DllRegisterServer PRIVATE DllUnregisterServer PRIVATE GetProxyDllInfo PRIVATE 把PMS.idl生成的如下4个文件加入到工程中。 方法如下: 在如下位置加入 ,REGISTER_PROXY_DLL, _WIN32_DCOM 在如下位置加入 rpcndr.lib rpcns4.lib rpcrt4.lib 记得rpcndr.lib前面加个空格 编译,连接 注册dll: 2.3 建立客户程序 新建一个工程 PMS_Client.cpp中的#include stdafx.h删了它就可以了。。。否则有出不尽的编译、链接错误。 客户端PMS_Client工程必须包含PMS.h和PMS_i.c文件。方法上面都说过了。 注意:在客户端,无论编写debug还是release程序,project\setting\ c/c++中的code generation下的Use run-time library应选DEBUG Multithreaded DLL。下图所示: 3. 代码填充 3.1 PMS_Client.cpp的框架 可能用到的头文件 #include iostream #include fstream #include iomanip #include stdio.h #include time.h #include string #include ../PMS/PMS.h //这个一定用得上 #define MAX_SERVER_NUM 20 //服务器的最大个数 using namespace

文档评论(0)

smdh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档