第1页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共37页第七章:TUXEDO的客户端编程7.1Tuxedo的客户端简介:tuxedo有两种客户端:本地客户端和远程客户端。NATIVECLIENT(本地客户端):是指与TUXEDO服务器在同一台机器上,不用通过网络就可以访问到TUXEDO服务器的客户端。WORSTATIONCLIENT(本地客户端):是指要通过网络才可以访问到TUXEDO服务器的客户端。下图为TUXEDO应用系统的客户端访问TUXEDO服务器上的服务的过程图。说明:WS(WorkstationExtensionProduct)用于指TUXEDO产品的客户端部分WSCWorkstationClientWSL(WorkstationListener)第2页共37页第1页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共37页TUXEDO系统自带的一个SERVER,它侦听一个指定的端口,WSC最初与该SERVER建立连接WSH(WorkstationHandler)TUXEDO系统自带的一个SERVER,由它处理WSC与TUXEDOSERVER之间的通讯。BulletinBoard(公告板)TUXEDO把系统的配置保存在一个共享内存中,该共享内存称为公告板(BB)BBLTUXEDO的管理进程,主要对公告板等进行管理WorkstationClient与TUXEDOSERVER建立连接的过程为:1.WSC调用tpinit()或tpchkauth()2.WSC采用在WSNADDR中指定的IP地址与服务端的WSL建立连接3.WSL为该WSC指定一个WSH,并把该WSH的侦听端口返回给WSC4.WSC采用返回的端口与指定的WSH建立连接,并与WSL断开连接,这之后WSC与TUXEDOSERVER之间的通讯通过WSH进行处理,与WSL无关。5.tpinit()或tpchkauth()调用返回。本地客户端与远程客户端的主要区别1.本地客户端只能用C语言或COBAL语言编写,远程客户端可以用几乎所有的编程语言编写。2.在远程客户端所在的机器上要安装TUXEDO的客户端软件,并且在设置相应的环境变量;在本地客户端上不用3.用buildclient编译远程客户端程序时要加–W,编译本地客户端则不用与远程客户端有关的配置:1.在MACHINES中要配置MAXWSCLIENTS,即最多可以有多少个远程客户端同时连接到该服务器上。2.在SERVERS中要配置SERVER:WSLWSLSRVGRP="GROUP1"SRVID=1116CLOPT="-A---n//192.168.120.113:8888-m2-M5-x6"CLOPT中可带的参数为:CLOPT="[-A][servopts_options]---nnetaddr[-ddevice][-wWSHname][-ttimeout_factor][-TClient_timeout][-mminh][-Mmaxh][-xmpx_factor][-pminwshport][-Pmaxwshport][-Iinit_timeout][-ccompression_threshold][-kcompression_threshold][-zbits][-Zbits][-Hexternal_netaddr][-Nnetwork_timeout][-K{client|handler|both|none}]"参数说明:第3页共37页第2页共37页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共37页-nnetaddr:WSL的侦听端口,远程客户端通过该端口与服务器建立连接-mminh:最少启动多少个WSH进程-Mmaxh:最多启动多少个WSH进程,默认值为MAXWSCLIENTS/m-xmpx_factor:每个WSH进程可以同时与多少个远程客户端建立连接-ccompression_threshold如果在远程客户端与服务器之间传送的数据包大小(单位为字节)超过-c指定的参数,就自动进行数据压缩,-TClient_timeout:指定一个远程客户端的空闲时间,如果该远程客户端在client_timeout这么长的时间内没有做任何调用,WSH将断开与该远程客户端的连接。单位为分钟,如果没有指点该参数,那么WSH永远不会自动断开远程客户端的连接-ttimeout_factor:指定远程客户端与WSH建立连接的时间,如果在-t指定的时间内还没有建立连接,那么连接将失败。如果没有采用安全认证方式默认为3*SCANUNIT秒,。如果采用安全认证方式默认为6*SCANUNIT秒,[-pminwshport][-Pmaxwshport]:指定WSH可以使用的端口范围:如果远程客户端要跨越防火墙才能访问该TUXEDO应用系统,在WSL中要指定该参数,指定WSH可以使用的端口范围,并让防火墙允许访问这些端口。如果不指定,TUXEDO会根据系统端口的使用情况进行分配,而分配的端口防火墙不允许通过,造成CLIENT无法调用TUXEDOSERVER。如下面的设置指定WSH可用的端口范围为17010–17030。WSLSRVGRP=GROUP1SRVID=1CLOPT="-A---n//133.101.6.26:17009-m10-M10-x10-p17010-P17030"...