freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

tuxedo的客戶端編程(已修改)

2025-05-27 23:27 本頁面
 

【正文】 第七章:TUXEDO的客戶端編程 Tuxedo的客戶端簡介:tuxedo有兩種客戶端: 本地客戶端和遠程客戶端。NATIVE CLIENT(本地客戶端): 是指與TUXEDO服務(wù)器在同一臺機器上,不用通過網(wǎng)絡(luò)就可以訪問到TUXEDO服務(wù)器的客戶端 。WORSTATION CLIENT(本地客戶端):是指要通過網(wǎng)絡(luò)才可以訪問到TUXEDO服務(wù)器的客戶端。下圖為TUXEDO應(yīng)用系統(tǒng)的客戶端訪問TUXEDO服務(wù)器上的服務(wù)的過程圖。說明:WS(Workstation Extension Product) 用于指TUXEDO產(chǎn)品的客戶端部分WSC Workstation ClientWSL(Workstation Listener)TUXEDO系統(tǒng)自帶的一個SERVER,它偵聽一個指定的端口,WSC最初與該SERVER建立連接WSH(Workstation Handler)TUXEDO系統(tǒng)自帶的一個SERVER,由它處理WSC與TUXEDO SERVER之間的通訊。Bulletin Board(公告板)TUXEDO把系統(tǒng)的配置保存在一個共享內(nèi)存中,該共享內(nèi)存稱為公告板(BB)BBLTUXEDO的管理進程,主要對公告板等進行管理Workstation Client與TUXEDO SERVER建立連接的過程為:1. WSC 調(diào)用tpinit()或tpchkauth()2. WSC采用在WSNADDR中指定的IP地址與服務(wù)端的WSL建立連接3. WSL為該WSC指定一個WSH,并把該WSH的偵聽端口返回給WSC4. WSC采用返回的端口與指定的WSH建立連接,并與WSL斷開連接,這之后WSC與TUXEDO SERVER之間的通訊通過WSH進行處理,與WSL無關(guān)。5. tpinit()或tpchkauth()調(diào)用返回。本地客戶端與遠程客戶端的主要區(qū)別1. 本地客戶端只能用C語言或COBAL語言編寫,遠程客戶端可以用幾乎所有的編程語言編寫。2. 在遠程客戶端所在的機器上要安裝TUXEDO的客戶端軟件,并且在設(shè)置相應(yīng)的環(huán)境變量;在本地客戶端上不用3. 用buildclient編譯遠程客戶端程序時要加 –W,編譯本地客戶端則不用與遠程客戶端有關(guān)的配置:1. 在MACHINES中要配置MAXWSCLIENTS,即最多可以有多少個遠程客戶端同時連接到該服務(wù)器上。2. 在SERVERS中要配置SERVER:WSLWSL SRVGRP=GROUP1 SRVID=1116 CLOPT=A n //:8888 m 2 M 5 x 6CLOPT中可帶的參數(shù)為:CLOPT=[ A ] [servopts_options] n netaddr [d device] [w WSHname][t timeout_factor][T Client_timeout] [m minh][M maxh][x mpx_factor ] [p minwshport][P maxwshport] [I init_timeout][c pression_threshold] [k pression_threshold] [z bits][Z bits][H external_netaddr] [N network_timeout][K{client|handler|both|none}]參數(shù)說明:n netaddr: WSL的偵聽端口,遠程客戶端通過該端口與服務(wù)器建立連接m minh : 最少啟動多少個WSH進程M maxh: 最多啟動多少個WSH進程,默認值為MAXWSCLIENTS/mx mpx_factor:每個WSH進程可以同時與多少個遠程客戶端建立連接c pression_threshold如果在遠程客戶端與服務(wù)器之間傳送的數(shù)據(jù)包大?。▎挝粸樽止?jié))超過c指定的參數(shù),就自動進行數(shù)據(jù)壓縮,T Client_timeout: 指定一個遠程客戶端的空閑時間,如果該遠程客戶端在client_timeout這么長的時間內(nèi)沒有做任何調(diào)用,WSH將斷開與該遠程客戶端的連接。單位為分鐘,如果沒有指點該參數(shù),那么WSH永遠不會自動斷開遠程客戶端的連接t timeout_factor: 指定遠程客戶端與WSH建立連接的時間,如果在t指定的時間內(nèi)還沒有建立連接,那么連接將失敗。如果沒有采用安全認證方式默認為3*SCANUNIT秒。如果采用安全認證方式默認為6*SCANUNIT秒, [p minwshport][P maxwshport]:指定WSH可以使用的端口范圍:如果遠程客戶端要跨越防火墻才能訪問該TUXEDO應(yīng)用系統(tǒng),在WSL中要指定該參數(shù),指定WSH可以使用的端口范圍,并讓防火墻允許訪問這些端口。如果不指定,TUXEDO會根據(jù)系統(tǒng)端口的使用情況進行分配,而分配的端口防火墻不允許通過,造成CLIENT無法調(diào)用TUXEDO SERVER。如下面的設(shè)置指定WSH可用的端口范圍為17010 – 17030。WSL SRVGRP=GROUP1 SRVID=1 CLOPT=A n //:17009 m 10 M 10 x 10 p 17010 P 17030在遠程客戶端的機器上要設(shè)置的環(huán)境變量TUXDIR (必需):TUXEDO客戶端在該機器上的安裝目錄WSNADDR(必需):遠程客戶端通過該IP地址與服務(wù)器建立連接,它的值為n參數(shù)的值,如在上面的配置中為:SET WSNADDR= //:8888WSTYPE(可選): 該客戶端的類型,如果與服務(wù)器的類型一樣,那么在它們之間進行數(shù)據(jù)傳送時不用進行編碼解碼工作。其他不常用的環(huán)境變量可參考TUXEDO的聯(lián)機文檔??蛻舳说木幊棠J剑涸?層結(jié)構(gòu)中,CLIENT是屬與表示層,表示層主要處理與用戶交互,它的功能可概括為:提供應(yīng)用的用戶交互接口,即主要通過圖形化的用戶界面,取的用戶的輸入數(shù)據(jù)與TUXEDO 應(yīng)用服務(wù)器建立連接調(diào)用TUXEDO應(yīng)用服務(wù)器上的服務(wù)(SERVICE),把客戶端的輸入?yún)?shù)放入輸出緩沖區(qū)。TUXEDO應(yīng)用服務(wù)器調(diào)用相應(yīng)的SERVICE處理客戶端的請求,把處理結(jié)果通過客戶端的輸入緩沖區(qū)返回給客戶端。 客戶端與服務(wù)端之間的通訊方式有以下幾種:同步調(diào)用:異步調(diào)用會話方式:可靠消息隊列廣播方式發(fā)布/訂閱在下一章我們再具體介紹 CLIENT的ATMI介紹客戶端通過調(diào)用TUXEDO提供的編程API(ATMI)來編寫程序,下面介紹一些客戶端主要的ATMI與連接的建立與斷開有關(guān)的ATMI為了與TUXEDO SERVER建立連接,TUXEDO CLIENT要調(diào)用TPCHKAUTH()檢查該TUXEDO SERVER所采用的安全方式,并根據(jù)得到的值做相應(yīng)的處理,然后調(diào)用TPINIT()建立與TUXEDO的連接,在TUXEOD SERVER的結(jié)果返回之后,調(diào)用TPTERM()斷開與TUXEDO SERVER的連接.int tpchkauth()描述: 檢查該TUXEDO SERVER所采用的安全方式參數(shù):無返回值: TPNOAUTH:不需要認證 TPSYSAUTH:需要口令認證 TPAPPSUTH:需要口令認證,并且還需要應(yīng)用級的認證或授權(quán). 1:調(diào)用失敗, 錯誤號保存在全局變量tperrno中。int tpinit(TPINIT *tpinfo)描述: 與TUXEDO SERVER建立連接參數(shù):TPINFO返回值: 失敗返回1, 錯誤號保存在全局變量tperrno中。struct tpinfo_t { char usrname[MAXTIDENT+2]。 /* client user name */ char cltname[MAXTIDENT+2]。 /* application client name */ char passwd[MAXTIDENT+2]。 /* application password */ char grpname[MAXTIDENT+2]。 /* client group name */ long flags。 /* initialization flags */ long datalen。 /* length of app specific data */ long data。 /* placeholder for app data */}。typedef struct tpinfo_t TPINIT。說明:username,cltname,passwd,grpname,data,datalen用于安全認證中flags:用于定義以何種方式通知該客戶端一個UNSOLICTED :TPUSIGTPUDIPTPUIGNTPSAFASTPATHTPSAPROTECTEDint tpterm()描述: 斷開與TUXEDO SERVER建立連接參數(shù):無返回值: 失敗返回1, 錯誤號保存在全局變量tperrno中。與請求TUXEDO SERVER 有關(guān)的ATMIint tpcall(char *svc, char *idata, long ilen, char **odata, long *olen, long flags)描述:客戶端同步調(diào)用服務(wù)端的名為svc的SERVICE,參數(shù): *svc:SERVICE的名稱char *idata: 輸入緩沖區(qū)的地址,客戶端傳給服務(wù)端的參數(shù)放在該緩沖區(qū)內(nèi)long ilen: 輸入緩沖區(qū)的長度char **odata 輸出緩沖區(qū)的地址,服務(wù)端傳給客戶端的結(jié)果放在該緩沖區(qū)內(nèi)long *olen:輸出緩沖區(qū)的長度 long flags: 調(diào)用標志,由以下幾個:TPNOTRAN如果調(diào)用svc的客戶端當前在TRANSACTION方式下,那么svc不參與當前的TRANSACTION。TPNOCHANGE如果服務(wù)端返回的緩沖區(qū)類型與客戶端定義的緩沖區(qū)(odata)類型不一致,默認情況下,odata會轉(zhuǎn)換成與服務(wù)端返回的緩沖區(qū)類型一致的類型,如果設(shè)置了該FLAG,那么當出現(xiàn)這種情況時,不進行緩沖區(qū)類型轉(zhuǎn)換,并且會保錯。TPNOBLOCK默認情況下,如果客戶端有阻塞條件存在(如CLIENT的TCP/IP中的緩沖區(qū)滿,磁盤I/O忙等),那么客戶端會阻塞在那里,直到阻塞消除或超時出錯。如果設(shè)置了TPNOBLOCK,當客戶端有阻塞條件存在時,TPCALL()會立刻返回并報錯. 注意TPNOBLOCK只對發(fā)送請求時起作用,如果在接收服務(wù)端返回的結(jié)果時有阻塞條件存在,客戶端會在那里等待,直到阻塞消除或超時出錯TPNOTIME如果客戶端有阻塞條件存在,客戶端會一直阻塞在那里,即使到了超時時間也不返回,但如果該客戶端是在TRANSACTION模式下,當?shù)搅?br />事務(wù)的超時時間,還是會報超時錯誤并返回。TPSIGRSTRT如果在進行系統(tǒng)調(diào)用時,被信號中斷,該系統(tǒng)調(diào)用會重新進行。調(diào)用成功返回0,失敗返回1, 錯誤號保存在全局變量tperrno中。int tpacall(char *svc, char *data, long len, long flags)描述: 客戶端異步調(diào)用服務(wù)端的名為svc的SERVICE,不等服務(wù)端返回結(jié)果,程序可繼續(xù)往下走,在某個地方調(diào)用tpgetrply()取的服務(wù)端的返回參數(shù):char *svc, char *data, long len參數(shù)的含義與tpcall()中的一樣flags 可設(shè)置為:TPNOTRAN, TPNOREPLY, TPNOBLOCKTPNOTIME, TPSIGRSTRT.TPNOTRAN, TPNOBLOCKTPNOTIME, TPSIGRSTRT的含義與與tpcall()中的一樣TPNOREPLY:調(diào)用tpacall()的客戶端不想接收SEVER端的應(yīng)答。如果設(shè)置了TPNOREPLY:服務(wù)端不會給該客戶端發(fā)送應(yīng)答。返回值: 失敗返回1,成功返回一個HANDLER,可作為tpgetrply的參數(shù),用于取應(yīng)答int tpgetrply(int *cd, char **data, long *len, long flags)描述:取出服務(wù)端對tpacall()的應(yīng)答。參數(shù): cd tpacall()返回的HANDLERchar **data返回緩沖區(qū)的地址,服務(wù)端傳給客戶端的結(jié)果放在該緩沖區(qū)內(nèi)long *len:返回緩沖區(qū)的長度flags:可以是:TPNOBLOCK, TPNOTIME,TPSIGRSTRT,TPGETANY(不管cd的值,從服務(wù)器的應(yīng)答隊列中取第一個可用的消息),TPNOCHANGE 返回值: 失敗返回1,錯誤號保存在全局變量tperrno中。int tpcancel(int handle)描述: 如果當前的程序不處于事務(wù)模式中,取消對tpacall()的應(yīng)答, 如果處于事務(wù)模式中,則不能取消對tpacall()的應(yīng)答,該調(diào)用會失敗.參數(shù): tpacall()返
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1