实例学习分布式开发

转载 2005年01月02日 00:35:00

作者:郭宝利  来源:原创  日期:2004.07.11
应该开发两个应用,一个是做服务器的,一个是做客户端的。首先介绍服务器的程序。
服务器程序通常封装业务逻辑,没有界面处理,供客户端调用。比如,我们创建一个加法计算的服务器。操作步骤如下:
 1、为Application对象的ConnectionBegin编写脚本。当客户端程序尝试联结服务器时触发该事件。所以,该事件应该对用户合法性进行检查,如果是合法用户则返回联结成功标志。脚本如下:
   if userid = 'guobaoli' then return ConnectPrivilege!  
   2、在Application事件中打开服务器主窗口。
   Open(w_main)
   3、在w_main窗口的Open事件中设置TransPort的必要参数。所有和客户端的处理都是通过该对象进行的。所以,首先需要定义一个TransPort类型的全局变量g_TransPort。然后编写如下脚本:
  integer li_rtn

   g_transport = Create TransPort
   g_transport.Driver = 'WinSock'    //驱动程序
   g_transport.Application = '5555'  //端口号
   li_rtn = g_TransPort.Listen()        //监听客户联结

   if li_rtn <> 0 then halt close
   4、这是最重要的一个步骤,开发业务逻辑,必须是非可视的用户对象。我们只只编写一个函数of_add即可。
 /*--------------------------------------------------------------------
   * 函数定义:integer of_add(integer ai_1,integer ai_2)
   * 函数作用:求和。
  * 编写日期:2004.7.11
   * 编 写 人:达通兴电脑科技   郭宝利
  *-------------------------------------------------------------------*/
   return ai_1 + ai_2
  5、业务逻辑开发完成后,为了保证客户端能够调用到这些用户对象中的函数,还需要生成客户端的代理。客户端通过这些代理,就可以知道哪些函数在服务器端了。所以,我们这个步骤需要创建客户端代理。操作步骤如下:
  1)关闭PB中所有已经打开的画板;
  2)选择窗口菜单file->new->project->proxy library
   3)选择工具条中的select objects,选择我们服务器端程序所在的pbl,选中用户对象;
  4)选择工具条中的Properties,选择output library为客户端的pbl(如果还没有创建,可以先创建客户端pbl);
  5)运行,即可生成客户端代理。
至此,服务器端程序的处理就结束了。下面编写客户端的程序。首先在Application对象的Open事件中打开主窗口:
   Open(w_main)
然后,我们设计主窗口。放置一个命令按钮,text属性改为'add'即可。在w_main窗口的Open事件中编写如下脚本:
  integer li_rc

g_connection = create connection
g_connection.Driver = "WinSock"
g_connection.Location = '192.168.21.88' //取值
g_connection.Application = '5555'
g_connection.UserId = 'guobaoli'
li_rc = g_connection.ConnectToServer()
if li_rc <> 0 then  halt close;
//首先声明全局变量:nvo_add gvo_add
if g_connection.CreateInstance(gvo_add,'nvo_add')  
if li_rc <> 0 then
    MessageBox ("客户端", "远程实例对象创建失败!" )
halt close
end if
至此,必要的准备工作都结束了,接下来我们就要验证我们的工作成果了:编写一个调用服务器端函数的小程序。在命令按钮‘add’的Clicked上编写如下脚本:
MessageBox('',string(gvo_add.of_add(32,5)))

PowerBuilder实例学习分布式开发

应该开发两个应用,一个是做服务器的,一个是做客户端的。首先介绍服务器的程序。 服务器程序通常封装业务逻辑,没有界面处理,供客户端调用。比如,我们创建一个加法计算的服务器。操作步骤如下:  1、为A...
  • DavinciTeam
  • DavinciTeam
  • 2012年04月06日 09:36
  • 576

通过实例学习 tcpdump 命令

通过实例学习 tcpdump 命令 来源:https://linux.cn/article-9210-1.html tcpdump 是一个很常用的网络包分析工具,可以用...
  • jeffreynnn
  • jeffreynnn
  • 2018年01月10日 21:58
  • 97

分布式开发简介

分布式开发简介1          概述分布式应用程序就是指应用程序分布在不同计算机上,通过网络来共同完成一项任务,通常为服务器/客户端模式。更广义上理解“分布”,不只是应用程序,还包括数据库等,分布...
  • niewq
  • niewq
  • 2010年03月12日 16:58
  • 9024

8 基于实例的学习

存储所有实验用例,当有分类请求时,根据查询实例和已有实例的关系进行局部计算分类。不会有全局性的计算函数。归纳偏置是实例分布在欧式空间里是平滑的。 算法十四:k近邻,按属性值计算用例直接的距离,将查询实...
  • pouloghost
  • pouloghost
  • 2013年10月23日 22:52
  • 1264

通过实例学习Java对象的构造过程

本文提供一个项目中的错误实例,提供对其观察和分析,揭示出Java语言实例化一个对象具体过程,最后总结出设计Java类的一个重要规则。通过阅读本文,可以使Java程序员理解Java对象的构造过程,从而设...
  • imnol
  • imnol
  • 2006年08月16日 15:30
  • 611

java学习笔记-------通过实例来学习事件

事件的实例分析; import java.awt.*; import java.awt.event.*; class Exa_8_3 extends Frame { //在构...
  • H002399
  • H002399
  • 2015年07月23日 19:42
  • 138

PB实例技巧

创建分割条用户对条(1)创建Standard Visual 用户对象,类型静态文本框(static text)并取名uo_splitbar保存(2)定义uo_splitbar的实例变量:Instanc...
  • tdtxflsh
  • tdtxflsh
  • 2007年04月06日 09:32
  • 1510

hadoop应用实例学习第一天

本博客只记录本人在学习使用hadoop时候的步骤和知识。没有系统的学习hadoop的知识,只是一些使用方法。 1、hadoop只能执行jar包,所以用eclipse编程后要生成jar包。 2、...
  • hcy19941229
  • hcy19941229
  • 2015年01月21日 19:50
  • 168

浅谈分布式开发

若某一个销售系统:库存信息存储在一个应用系统中,订单系统又存储在另一个应用系统,客户信息在第三个系统中,那若把三者整合,则如何实现呢?   对于目前的主分店中的收银软件等情况,分店与主店是如何通信呢...
  • llhhyy1989
  • llhhyy1989
  • 2013年05月12日 17:27
  • 3195

异地分布式敏捷软件开发

异地分布式敏捷软件开发 (Distributed Agile Software Development)   异地分布式软件开发(Distributed Software Development...
  • sijidou112
  • sijidou112
  • 2012年08月30日 11:02
  • 1373
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实例学习分布式开发
举报原因:
原因补充:

(最多只允许输入30个字)