Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 分布式PowerBuilder工作流程
【标  题】:分布式PowerBuilder工作流程
【关键字】:ld,分布式,Build,Builder,Power,PowerBuilder,PowerBuilder
【来  源】:网络

分布式PowerBuilder工作流程

Your Ad Here

16.3 分布式PowerBuilder工作流程

下面,我们用例子来回顾一下分布式PowerBuilder的工作流程。假设有两个客户机,一个服务器。在每一个客户机中,分别有一个客户端应用程序在运行。在服务器中,有一个服务端应用程序为这两个客户程序提供服务。

我们首先初始化一个Transport对象,并把它启动起来。接下去来看看如何实现分布式计算。

第一步,客户机1调用ConnectToServer函数。当这个函数返回后,先检查一下它的返回值,如果不出意外,Connection对象就被初始化完成了(图16-1)。


图16-1

接着,ConnectToServer函数在服务端中创立了一个客户虚拟机。客户端每调用一次这个函数,服务端就为它开辟一块内存,一个独立的工作环境。它可以想象成服务端开启了一个新的线程,或新的进程(图16-2)。


图16-2

然后,代理对象调用SetConnect函数,为代理设置Connect对象。 Connect对象通过网络线传递给Transport对象一个链接消息。Transport正在用Listen函数侦听这个消息,于是在服务端中初始化了NVO对象。注意,我们不直接在服务端中初始化NVO对象,而是通过代理对象来初始化(图16-3)。


图16-3

随后,这两个客户机在服务器中创立了两个服务线程,它们相互独立,各有两个不同的内存区域,不同的工作环境。因此,当一个服务线程发生运行错误时,不会影响另外一个服务线程。这两个服务线程其实就是服务器中同一个NVO的两个拷贝(图16-4)。


图16-4

在NVO计算完成后,就把结果返回,客户端的应用程序重新得到控制权。我们称之为同步函数调用。

在客户应用程序结束后,我们还需要把对象给释放掉。在PowerBuilder中,如果不释放这些对象,在程序运行结束后,为下一次运行的可分配的内存就会减少。一般情况下,系统会自动释放对象所占的内存,但象NVO这样的对象是需要应用程序为它释放的。每当我们释放了一个代理对象,这个代理对象在服务对象所应用NVO也会自动释放。如果不释放这个代理对象,对应NVO也不会被自动释放。

最后,客户端的Connect对象调用DisConnectServer函数,断开与服务器的链接。服务器接收到断开链接的消息后,就会中止由ConnectToServer所创立的服务线程,把这个线程所占的内存区域释放掉。至此为止,一个完整的分布式计算就完成了。

PowerBuilder创建分布式程序 A:【上一篇】
分布式PowerBuilder工作原理:【下一篇】
【相关文章】
  • PowerBuilder创建分布式程序 A
  • PowerBuilder创建分布式程序 B
  • PowerBuilder创建分布式程序 C
  • PowerBuilder创建分布式程序 D
  • PowerBuilder创建分布式程序 E
  • PowerBuilder编程俱乐部(一)
  • 优化你的PowerBuilder程序
  • 在POWER BUILDER中使用WINSOCK控件
  • PowerBuilder编程技巧四则
  • PowerBuilder 创建数据窗口对象
  • 【随机文章】
  • 05/09/2005
  • 中国红客内部后台入侵程序
  • [Tips]Form的Enctype属性
  • 最简单的对JDK1.5的中文乱码处理方法
  • 几个好链接
  • Internet银行:选择.NET还是J2EE?
  • PS与ImageReady做动态Logo
  • 英语阅读推荐:使用AJAX+WF+LINQ制作Google IG式首页
  • Spring集成Groovy
  • sed总结
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.