发信人: love1974()
整理人: flyingmist(2000-03-06 00:08:22), 站内信件
|
现在流行多层模型代替C/S模型,通过PB中的代理对象就可以实现三层模型结构
系统. CLIENT->APPLICATION SERVER->后端数据库.
企业商业规集中放入APPLICATION SERVER中不但可以减少维护的复杂性,还有利
于统一商业规则变更,减少了以往的C/S系统商业规则变更后系统升级的麻烦.只要
设计好优良的APPLICATION SERVER接口,基本上商业规则变更并不需要改变客户端 ,
这也就是为什么人们提出多层模型的原因.
下面是我采用WINSOCK驱动程序对PB的TCP/IP的编程测试程序,欢迎大家共同
讨论.
(1).服务器端
1).W_MAIN窗口OPEN事件脚本
transport li_port
li_port=create transport
li_port.application="8888" //TCP端口号
li_port.location="192.168.0.1" //IP地址
li_port.driver="winsock" //使用WINSOCK驱动程序
li_port.listen()
if li_port.errcode<>0 then
messagebox("服务器JmServer","启动错误!!!")
messagebox("err",li_port.errtext)
end if
2).APP用户对象
APP用户对象函数
STRING HELLO()
{ RETURN "OK" }
3).使用PROJECT生成代理对象APP,放入PROXY.PBL中
(2).客户端
1).把PROXY.PBL加入应用库路径中
2).测试按钮CLICKED事件脚本
connection my_connection
app my_server1
my_connection=create connection
my_server1=create app
my_connection.application="8888" //TCP端口号
my_connection.location="192.168.0.1" //IP地址
my_connection.trace="log=d:\test_pb\err.log,objectcalls=1,
objectlife=1"
my_connection.driver="winsock" //使用WINSOCK驱动程序
if my_connection.connecttoserver( )<>0 then
messagebox("Client","ErrorCode="+string(my_connection.errcode)+&
"~r~nErrorText="+my_connection.errtext)
halt close
end if
my_connection.createinstance(my_server1)
messagebox("result",my_server1.hello("")) //调用服务器端用户对象 APP
//的HELLO函数
PB中的三层模型基本就是使用这种方法,生成代理代理对象,在客户端通过代 理
对象调用服务器端的应用服务器中的函数,服务器端的应用服务器就是中间层,从 而
实现了PB的三层模型编程.PB的代理对象的好处就是封装了SOCKET编程的复杂性, 简
洁的开发PB的多层模型系统.
-- love1974
太太平平,不是我活着的目标;不温不火,不是我的性格。是云就该下雨,是火就该发光。
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.124]
|
|