快驴中间件RPC开发案例
一、任务
完成一个跨Internet的远程文件管理软件。通过在服务器端开发一个插件、客户端进行远过程调用(RPC)实现。
二、准备工作
1、 组网
如果没有固定IP的Internet服务器,可在局域网中进行模拟组网。
选一个固定IP的Internet服务器,安装SQL Server2000,并建一个新数据库:test_database。然后在其上安装QuickBurro节点系统,节点名称设定为“中国”,作为根节点,其他参数默认。然后,增加一个子节点,命名为“浙江#中国”。
再选一个adsl上网的计算机,安装Sql Server个人版,并建一个新数据库:Test_Database。然后也安装QuickBurro节点系统软件,节点名设定为“浙江#中国”,父节点参数设置为根节点的参数(即“中国”节点的若干参数)。
两个节点都运行节点系统软件,“浙江#中国”节点应能正常连接“中国”节点。若未连同,说明参数设置有误,请检查防火墙、节点密码、端口号等有关参数。直到两个节点“级联完成”。至此,一个简易的级联网络已经建设完成。
2、 准备开发工具
准备borland Delphi 5或以上版本,然后安装QuickBurro客户端开发控件。
三、协议制订
根据目标要求,制订该项目的相关应用协议如下(协议详细格式略),插件方和客户端远过程调用时共同遵循:
1、取系统状态
功能说明:取系统状态信息,如操作系统、CPU、内存等信息
2、取驱动器列表
功能说明:取某远程节点的驱动器列表
3、取目录文件列表
功能说明:取某远程节点指定目录中的文件列表(含子目录、卷标等)
4、创建子目录
功能说明:在某远程节点的磁盘中建立一个子目录
5、删除文件夹
功能说明:删除某远程节点上的某个文件夹,若内含文件和子目录,同时进行删除
6、文件复制
功能说明:将某远程节点上的某文件复制为另一个文件
7、文件合并
功能说明:将某远程节点上的两个文件内容合并,生成一个新文件
8、文件改名
功能说明:将某远程节点上的一个文件进行改名
9、改文件属性
功能说明:设置某个文件的属性(存档、只读、隐藏、系统等)
10、文件删除
功能说明:删除某远程节点上的某个文件(无论什么属性)
11、文件搜索
功能说明:从某个路径开始遍历搜索指定通配符的文件列表
12、文件上传(5M字节以内)
功能说明:将一个本地文件上传到某远程文件夹下(5M以内的文件)
13、文件下载(5M字节以内)
功能说明:将某节点上的某文件下载到本地(5M以内的文件)
14、注册OCX控件
功能说明:在某远程节点上注册一个OCX控件(RegSvr32)
15、注册一个自动运行程序
功能说明:在某远程节点上注册一个自动运行项(随Windows启动自动运行)
16、注销一个自动运行程序
功能说明:在某远程节点上删除一个自动运行项
四、插件编写
在delphi中建一个DLL工程,然后按上面的协议写一个程序,完成服务器端文件管理的若干功能。
应注意的是,必须按QuickBurro规定的接口标准进行入口和出口参数管理、必须使用ShareMem(即Bolndmm.dll)进行内存管理。
若不知道这些规范,请到www.quickburro.com网站复制一个插件模板文件过来,再继续写程序。
为了让您快速入门,可以打开看一下我们写的remotefiles插件的代码。
插件(remotefiles.dll)生成后,将它挂接到“中国”根节点和“浙江#中国”子节点上,注意模块代码为“remotefiles”。界面如下: