第五章TUXEDO的缓冲区融金教育.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章TUXEDO的缓冲区融金教育

第五章:TUXEDO的缓冲区 5.1 TUXEDO的缓冲区介绍 TUXEDO的客户端与服务端之间的数据传送是通过数据缓冲区来进行的.TUXEDO的数据缓冲区主要包括STRING,CARRAY,VIEW,VIEW32,FML,FML32,从TUXEDO7.1开始,还增加了XML数据缓冲区.另外,TUXEDO还有几种缓冲区是专门针对COBAL的。在TUXEDO中还可以定义自己的缓冲区类型。 在TUXEDO中客户端与服务端之间进行数据交换的缓冲区(如:tpcall()中的输入,输出缓冲区等)都要用TUXEDO自己提供的API进行操作,不能采用C语言的函数如:malloc(),free()等分配,释放这些缓冲区。同时在程序中要自己管理这些缓冲区,象C语言中的缓冲区一样,在用tpalloc() 分配一块缓冲区之后,在不在需要该缓冲区时用tpfree()释放掉。 与缓冲区使用有关的ATMI char * tpalloc(char *type, char *subtype, long size) 描述:分配缓冲区 参数:type:缓冲区的类型 subtype:缓冲区的子类型,只有VIEW有子类型,其他的缓冲区该参数要设为NULL long:缓冲区的大小 返回值: 成功返回一个指向所分配空间首地址的CHAR *形指针,失败返回NULL。 char * tprealloc(char *ptr, long size) 描述:重新分配缓冲区 参数:ptr:指向原缓冲区首地址的指针 size:新缓冲区的大小 返回值: 成功返回一个指向新分配空间首地址的CHAR *形指针,失败返回NULL。 void tpfree(char *bufptr) 描述:释放由TPALLOC()或TPREALLOC()分配的缓冲区 参数:bufptr:指向要释放的缓冲区首地址的指针 返回值:无 注意: 用TPALLOC(),TPREALLOC()分配的内存只能有TPFREE()释放掉,不能用FREE() long tptypes(char *ptr, char *type, char *subtype) 描述:返回有ptr所指向的缓冲区的类型及子类型 参数: ptr:指向要进行类型识别的缓冲区首地址的指针 type:类型名 subtype:子类型名(只对VIEW类型有效) 返回值:0成功,-1失败, 错误号保存在全局变量tperrno中。 下面我们对常用的数据缓冲区分别进行介绍。 STRING: 类似于C中的CHAR *,是以\0接尾的字符串,如果两台机器之间的编码不一样(如一台为ASCII, 另一台为EBCDIC),TUXEDO 将自动进行编码/解码工作。 STRING一般用于在客户端与SERVER端之间传送文本数据。STRING缓冲区的使用例子在后面的章节中有很多,在此不作介绍。 CARRAY: 是不以\0接尾的字符串,长度要由用户指定。如果两台机器之间的编码不一样,也不进行编码/解码工作。注意在TPCALL,TPACALL,TPRETURN等ATMI中使用CARRY类型的缓冲区时,一定要指定长度,否则会出错。CARRY一般用于传送二进制数据。如在客户端与SERVER端之间传送一个二进制的文件,就要采用CARRAY类型的缓冲区。CARRAY缓冲区的使用例子在后面的章节中中会见到,在此不作介绍。 5.2 VIEW(VIEW32)缓冲区 类似于C中的结构体,不同的是该结构的成员的数据类型可以为short, char, long, float, double,STRING ,CARRAY。 要在一个文件中定义该VIEW(VIEW32)的结构,然后才能使用。VIEW有子类型,子类型为该VIEW(VIEW32)的名字,在调用TPALLOC()分VIEW(VIEW32)缓冲区时要指定该子类型。 VIEW32与VIEW类似,但它采用32位长度的数表示结构体中字段的ID等,VIEW采用16位表示,所以VIEW32可表示更多的字段。 VIEW(VIEW32)缓冲区还可以转化为FML(FML32)缓冲区。 VIEW的使用过程: 定义一个VIEW(VIEW32)的描述文件*.v,如下所示:定义一个名为aud的VIEW VIEW aud $ /* View structure for audit information */ # type cname fbname count flag size null long b_id BRANCH_ID 1 - - 0 float balance BALANCE 2 - - 0.0 string er

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档