前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

PowerBuilder创建分布式程序 E_技术前沿_软件资讯_中国软件网 | 加入桌面 | 手机版 | 无图版 办公专属的企业微信 简单,方便,沟通及时,微信办公正在成为.. 智能管理软件(BI) BI即商务智能,它是一套完整的解决方案.. 社交+企业应用:企业2.0专题 微软12亿美元现金收购企业社交供应商Yamm.. 软件资讯软件产品软件厂商软件选型技术方案行业活动 首页软件资讯软件产品软件厂商软件选型技术方案行业活动软件选型1000强 当前位置: 首页 » 软件资讯 » 技术前沿 » 正文 PowerBuilder创建分布式程序 E 字体: | 2007-08-10 |0 中国软件网:17.5创建Server界面至此,我们已经创建了Server库,把Clients库中NVO对象移至Server库中,定义并初始化了Transport对象,接下去需要定义一个运行Server的界面。在钮按栏中按下窗口画板按钮,选择新建。我们将把这个窗口作为运行Server的主窗口,首先在窗口中移中两个17.5 创建Server 界面 至此,我们已经创建了Server库,把ClIEnts库中NVO对象移至Server库中,定义并初始化了Transport对象,接下去需要定义一个运行Server的界面。在钮按栏中按下窗口画板按钮,选择新建。 我们将把这个窗口作为运行Server的主窗口,首先在窗口中移中两个按钮,一个,用来启动服务器的服务进程,取名为“Start ” ,另一个按钮用来中止服务进程,取名为“Shutdown”。 图17-6 为了程序更加可视一些,我们再定义一个画面,用来标志服务是否正常启动。移入一个Picture控件,点取右键,选择编辑属性命令Property,系统弹出对象属性对话框。在File Name中点取Browse,选入Stop点BMP,OK。当这个画面中的绿灯亮起来时,就认为服务器已经正确启动了,如果画面中是红灯时,则服务被中止了。 调整一下窗口中控件的位置,然后定义这个窗口的属性。我们把这个窗口名定义为“Discount Computing Server”。接下去,我们来为这两个按钮加上一些适当的脚本,让服务端程序正确运行起来。打开Start按钮的Clicked事件。在Start按扭被按下时,我们应该让Transport对象侦听来自客户机中Connection对象的消息。输入脚本mytrans listen。为了检测是否真地收到了一个正确的Connection对象,我们还需要检查一下对象的返回值。如果返回值不等0,则说明程序得到了一个错误的返回值,服务器没有正确地启动,需要提示一些出错信息。如果不是,则加载显示绿灯的图片,表明已经正确启动。 我们选择这些代码,按下Control C键,将之COPY粘贴板上。选择Shutdown按钮,按下右键,再选择Script,把刚才复制到粘贴板上的代码Copy到这个按钮中。当Shutdown被按下时,我们需要Stop Listening,关掉服务进程。同样,还需要把所显示的图片更改为“红灯亮”。保存所写的脚本,离开窗口画板,保存窗口,把它取名为win_server。 继续回到应用对象,再看一下应用对象的脚本。打开脚本编辑器,选择Open事件。我们在这里初始化了一个名为mytrans的tranport对象,并为它设置了一些基本属性。接下去,为在两台机器上来测试这两个程序作一些准备工作。 打开Application画板,选取Server应用对象,再打开Open事件所对应的代码。在上几节中,定义了一个Tranport对象,但是并未给它赋值。现在,我们将给予它一些适当的属性值。Driver指的是应用程序进行网络通信所用的网络协议。它可以为NamedPipes、或者是WinSock。在Win95或NT中,我们一般选择WinSock,它所对应用低层网络协议为TCP/IP。Application指的是服务器应用名,TCP/IP中,它对应的是一个服务进程的端口号,是一个整型的数值。如,Telnet服务端口号为23,Ftp服务端口号为21。为了不与系统服务进程发生冲突,我们可以选择大于4096的任何一个数值。在这里,我们先将它设为5555,然后保存所作的修改。 程序员在编写一些网络环境下的程序时,往往首先在单机的环境下来测试程序。我们将在同一台机器中同时运行Clients和Server。 图17-7 在成功生成EXE后,关闭项目对话框,给它取名为Server。 现在转到资源管理器中,来查看一下Server点EXE。找到了它之后,双击,启动服务端程序。在你生成EXE的时候,可能会遇到一些错误提示,系统告诉你找不到一些必要的DLL文件,有三个方法来解决这个问题,可以把位于 Common Files 目录下的Powersoft Shared目录中的所有以DLL结尾的文件都复制到生成EXE文件所在目录;你可以在找到在PowerBuilder系统目录下一个名为PATHGEN的文件,为EXE文件设置路径;第三个方法是为你的应用程序做安装程序。 关闭Server。接下来,我们来修改客户应用程序,让它可以和Server链接。打开Library窗口,选择Clients库,双击Clients。重新回到应用对象的Open事件中,看看那里所写的脚本。在这里,程序初始化了Connection对象,我们还需要给它的三个属性赋于适当的值,让它可以与Server会话。我们把Application属性设为“5555”,这是一个TCP/IP的端口号,它必须与我们在服务端程序所设的端号一致,以便客户端程序能找到在服务器中运行的服务进程。把Driver属性设为“WinSock”,说明应用将用TCP/IP协议进行通信。 最后把服务端程序Location设为LocalHost(本机),当客户应用程序发现Location为LocalHost,它就在本机里寻找服务端程序,而不是在网络中。 图17-8 关闭脚本编辑器,选择保存(图17-8)。 我们测试一下这个程序,按下“Discount”,程序正确返回了“0.9”。再来看一看如果关闭服务会发生什么事情。在Server中按下“ShutDown”,再击“Discount”,Clients程序返回错误信息。 至此为止,我们已经看到分布式PowerBuilder在单机环境的运行。在下一节中,我们将把这个应用程序分为两部分,一个运行在客户机中,一个运行在服务器中,实现真正的分布式计算。 17.6 实现分布式计算 在这一编的最后一节中,我们将网络环境中实现PowerBuilder的分布式计算。在我们的程序测试室中,有两台机器,它们都运行Win95。一台作为客户机,一台作为服务器。如果条件允许,推荐用一台性能较好的运行NT的机器作为服务器,这样会运行地更好些。 打开资源管理器,它已经编译成功的Server点EXE复制到一台名为Mohair的机器中,并在那里将运行起来。它是我们的服务器。接下来,我们还需更改一下客户端程序。在Library画板中打开Clients应用,然后点击事件编辑按钮。在上一节的单机测试中,我们暂时把Connection对象myconnect的网络机器位置Location设置为本机Local Host,现在把它设为真正的网络机器名Mohair。保存对它所作的修改。 运行这个程序,按下“Discount”,程序正确返回值0.9。再在那一台名为Mohair的机器中,Shutdown服务进程,再按一下“Discount”,系统报告网络链路错误信息。 在实际运行中,您可能不会这样顺利,测试一个涉及网络通讯的程序相对要困难地一些。在这里面,您可以按以下步骤排除错误:第一,检查网络的物理链路是否真地通了,可以用“网络邻居”测试一下;接下来,检查是否安装了TCP/IP协议,如果您使用的是WinSock,这个协议是必须的;然后,检查网络一些的属性值,比如,在某些环境下,系统要求机器具有一个固定的IP地址,动态分配可能无效的。网络登录方式也可能会影响程序运行的结果 。 关键词: 软件 下一篇:佳诚移动信息服务(OMIS) 上一篇:2004首届中国企业信息化用户论坛即将举行 分享到: 微信 更多 [ 软件资讯搜索 ] [ 加入收藏 ] [ 告诉好友 ] [ 打印本文 ] [ 关闭窗口 ] 共0条 [查看全部] 相关评论 相关资讯 Parasoft能源领域显优势 完备编码规则提升软件质量 近日,工信部《软件研发成本度量规范》(以下称《规范》)正式实施,该《规范》规定了对软件研发的成本构成、成本度量过程及成... 4G智能准入,Parasoft编码规则引领移动软件测试 随着国内4G牌照落地,专家普遍认为对于移动设备商而言,4G将成为继3G之后的又一次盛宴。工信部在前不久的《我国移动终端产业... 斯坦德公司:InfiniBand技术应用先行者 InfiniBand仍旧局限于“小众化”的市场吗?这已经是老黄历。随着云计算、大数据的兴起,用户对数据传输性能的需求进一步提升,... ANSYS发布旗舰新版本:工程仿真软件ANSYS 15.0 日前宣布推出其业界领先的工程仿真软件-ANSYS 15.0,其独特的新功能,为指导和优化产品设计带来了最优的方法。 CAXA二维CAD教程:多线段的合并及闭合 CAXA电子图板(二维CAD)20年来,陪伴着广大的机械工程师完成了一个又一个完美的设计方案,其无可替代的地位使众多CAXA用户和粉... CAXA二维CAD教程:巧用重量计算器 CAXA电子图板(二维CAD)2013版,专为工业工程师打造,轻松实现工程师们“所思即所得”。它依据中国机械设计的国家标准和使用习... CAXA二维CAD教程:块扩展属性的重复应用 CAXA电子图板(二维CAD)2013版,专为工业工程师打造,轻松实现工程师们的“所思即所得”。它依据中国机械设计的国家标准和使用... 悠易互通"金牌导师团"为中国程序化购买产业培育未来之星 作为中国程序化购买市场的核心推动力,悠易互通在不断提升自身技术、精进专业能力的同时,更致力于程序化购买行业的推动与发... CAXA二维CAD教程:明细表数据库操作(一) CAXA电子图板(二维CAD)2013版,专为工业工程师打造,轻松实现工程师们“所思即所得”。它依据中国机械设计的国家标准和使用习... CAXA CAPP教程:局域网内共享知识库 CAXA工艺图表(CAXA CAPP)是CAXA工艺解决方案系统的重要组成部分。它不仅包含了CAXA电子图板的全部功能,而且专门针对工艺技术... 推荐资讯 传言苹果申请人脸识别控制专利 让小孩子看不了成人电影 据国外媒体报道,patentlyapple网站称,苹果递交给美国专利局的一份专利申请文件日前被曝光,该专利文件显示,苹果正在研发一... 英国电信与华为在英国开通业界首个G.fast试验局 全球领先的信息与通信解决方案供应商华为,今日宣布与英国电信合作成功开通业界首个G.fast试验局,标志着铜线接入技术迈入千... CAXA二维CAD教程:如何插入OLE对象 CAXA电子图板(二维CAD)专为设计工程师打造,依据中国机械设计的国家标准和使用习惯,提供专业绘图编辑和辅助设计工具,轻松... 上帝说要有光!我们说有光就要有网络! 复旦大学成功研制出一种利用屋内可见光传输网络信号的国际前沿通讯技术。研究人员将网络信号接入一盏1W的LED灯珠,灯光下4台电... HTC One推出手机指纹识别系统 消费者总是希望确保它以这样一种方式存储,如果你失去了你的手机,任何侵入或有其他未经授权的访问,都很难获取你的私人信息... 高科技牙套问世,可跟踪携带者头部外伤 激烈的竞技运动中,运动员经常不可避免身体碰撞,导致头部受伤。一位年轻的爱尔兰发明家马克迪龙针对这种情况,发明了一个内... 网站首页 | 联系方式 | 关于我们 | 招聘职位 | 网站地图 | 网站留言 | RSS订阅 | 京ICP备12052919号-1 | 京公网安备11010802011065号 Copyright ? 2003-2013 soft6.com All Right Reserved. 昆仑海比(北京)信息科技有限公司版权所有。 Powered by soft6.com