AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PowerBuilder

用PowerBuilder实现多层C/S系统

51自学网 2015-09-27 http://www.51zixue.net

  3 分布式应用设计和实现

  3.1 服务器端

  3.1.1建立服务器应用

  使服务器开始监听客户连接请求的具体步骤:

  1) 将TRANSPORT(传输)对象实例化。

  2) 为TRANSPORT(传输)对象设置属性。

  3) 用LISTEN函数开始监听。

  4) 异常处理。

  代码如下:

transport tp1
long err
tp1=Create Transport 对象实例化
tp1.driver=”winsock” 驱动程序
tp1.application=”10000” 端口号
err=tp1.Listen() 开始监听
If err<>0 Then 异常处理
MessageBox(“启动服务出错”,err)
Else
MessageBox(“服务正常”)
End If

  3.1.2建立远程对象

  远程对象定义了客户要访问的业务逻辑,它是分布环境下开发的重点。由用户针对不同需要进行开发。

  3.2 客户端

  3.2.1建立客户连接

  建立客户应用与服务器应用连接的具体步骤:

  1) 将CONNECTION对象实例化。

  2) 将CONNECTION对象设置属性。

  3) 用CONNECTTOSERVER进行连接。

  4) 异常处理。

  代码如下:

connection cc1
long err
cc1=Create Connection 对象实例化
cc1.driver=”winsock” 驱动程序
cc1.application=”10000” 端口号
cc1.location=”220.200.200.1” 服务器地址
err=cc1.ConnectionToServer() 进行连接
If err<>0 Then 异常处理
 MessageBox(“连接出错”,err)
Else
 MessageBox(“连接正常”)
End If

  3.2.2用户界面

  针对不同需要进行界面开发。

  3.2.3 PROXY对象

  在与服务器建立连接后,客户端就可以建立一个服务器远程对象的代理(PROXY对象),并且使用它的全部内容。PROXY对象是客户应用与远程对象的一个接口。

  客户端使用远程对象的代理——PROXY对象,在客户与服务器之间增加了一个中间层,可以防止用户随意使用业务逻辑,增加了安全性。

  示意代码如下:

string code,name
u_remote aname
gconn_xt.CreateInstance(aname) 对象实例化
If IsValid(aname) Then
 code =sle_1.text
 name=anmae.uf_getname(code) //调用远程对象的函数uf_getname()
 st_1.text=name
End If

 
 

上一篇:PB/Sybase系统开发中的数据库转移  下一篇:树形目录在PB中的实现与应用