第五章:tuxedo的缓冲区-融金教育

第五章:tuxedo的缓冲区-融金教育

ID:9995817

大小:79.00 KB

页数:14页

时间:2018-05-20

第五章:tuxedo的缓冲区-融金教育_第1页
第五章:tuxedo的缓冲区-融金教育_第2页
第五章:tuxedo的缓冲区-融金教育_第3页
第五章:tuxedo的缓冲区-融金教育_第4页
第五章:tuxedo的缓冲区-融金教育_第5页
资源描述:

《第五章:tuxedo的缓冲区-融金教育》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【融金教育】金融软件工程师定向培养www.bankingways.com第五章:TUXEDO的缓冲区5.1TUXEDO的缓冲区介绍TUXEDO的客户端与服务端之间的数据传送是通过数据缓冲区来进行的.TUXEDO的数据缓冲区主要包括STRING,CARRAY,VIEW,VIEW32,FML,FML32,从TUXEDO7.1开始,还增加了XML数据缓冲区.另外,TUXEDO还有几种缓冲区是专门针对COBAL的。在TUXEDO中还可以定义自己的缓冲区类型。在TUXEDO中客户端与服务端之间进行数据交换的缓冲区(如:tpc

2、all()中的输入,输出缓冲区等)都要用TUXEDO自己提供的API进行操作,不能采用C语言的函数如:malloc(),free()等分配,释放这些缓冲区。同时在程序中要自己管理这些缓冲区,象C语言中的缓冲区一样,在用tpalloc()分配一块缓冲区之后,在不在需要该缓冲区时用tpfree()释放掉。与缓冲区使用有关的ATMIchar*tpalloc(char*type,char*subtype,longsize)描述:分配缓冲区参数:type:缓冲区的类型subtype:缓冲区的子类型,只有VIEW有子类型,其他

3、的缓冲区该参数要设为NULLlong:缓冲区的大小返回值:成功返回一个指向所分配空间首地址的CHAR*形指针,失败返回NULL。char*tprealloc(char*ptr,longsize)描述:重新分配缓冲区参数:ptr:指向原缓冲区首地址的指针size:新缓冲区的大小返回值:成功返回一个指向新分配空间首地址的CHAR*形指针,失败返回NULL。voidtpfree(char*bufptr)描述:释放由TPALLOC()或TPREALLOC()分配的缓冲区参数:bufptr:指向要释放的缓冲区首地址的指针返回

4、值:无注意:用TPALLOC(),TPREALLOC()分配的内存只能有TPFREE()释放掉,不能用FREE()longtptypes(char*ptr,char*type,char*subtype)描述:返回有ptr所指向的缓冲区的类型及子类型参数:ptr:指向要进行类型识别的缓冲区首地址的指针type:类型名subtype:子类型名(只对VIEW类型有效)返回值:0成功,-1失败,错误号保存在全局变量tperrno中。www.bankingways.com【融金教育】金融软件工程师定向培养www.bankin

5、gways.com下面我们对常用的数据缓冲区分别进行介绍。STRING:类似于C中的CHAR*,是以接尾的字符串,如果两台机器之间的编码不一样(如一台为ASCII,另一台为EBCDIC),TUXEDO将自动进行编码/解码工作。STRING一般用于在客户端与SERVER端之间传送文本数据。STRING缓冲区的使用例子在后面的章节中有很多,在此不作介绍。CARRAY:是不以接尾的字符串,长度要由用户指定。如果两台机器之间的编码不一样,也不进行编码/解码工作。注意在TPCALL,TPACALL,TPRETURN等

6、ATMI中使用CARRY类型的缓冲区时,一定要指定长度,否则会出错。CARRY一般用于传送二进制数据。如在客户端与SERVER端之间传送一个二进制的文件,就要采用CARRAY类型的缓冲区。CARRAY缓冲区的使用例子在后面的章节中中会见到,在此不作介绍。www.bankingways.com【融金教育】金融软件工程师定向培养www.bankingways.com5.2VIEW(VIEW32)缓冲区类似于C中的结构体,不同的是该结构的成员的数据类型可以为short,char,long,float,double,STR

7、ING,CARRAY。要在一个文件中定义该VIEW(VIEW32)的结构,然后才能使用。VIEW有子类型,子类型为该VIEW(VIEW32)的名字,在调用TPALLOC()分VIEW(VIEW32)缓冲区时要指定该子类型。VIEW32与VIEW类似,但它采用32位长度的数表示结构体中字段的ID等,VIEW采用16位表示,所以VIEW32可表示更多的字段。VIEW(VIEW32)缓冲区还可以转化为FML(FML32)缓冲区。VIEW的使用过程:1.定义一个VIEW(VIEW32)的描述文件*.v,如下所示:定义一个名

8、为aud的VIEWVIEWaud$/*Viewstructureforauditinformation*/#typecnamefbnamecountflagsizenulllongb_idBRANCH_ID1--0floatbalanceBALANCE2--0.0stringermsgSTATLIN3-80""CARRAYdddDDD100说明:定义一个VI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。