uxedo-客户端-服务器程序范例

uxedo-客户端-服务器程序范例

ID:22685296

大小:108.00 KB

页数:12页

时间:2018-10-30

uxedo-客户端-服务器程序范例_第1页
uxedo-客户端-服务器程序范例_第2页
uxedo-客户端-服务器程序范例_第3页
uxedo-客户端-服务器程序范例_第4页
uxedo-客户端-服务器程序范例_第5页
资源描述:

《uxedo-客户端-服务器程序范例》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Tpinit//传递客户认证信息Tpalloc//申请缓冲区Tpcall//调用服务Tpfree//释放指向缓冲区的指针Tpsvrinit//服务启动前的一个初始化Tpsvrdone//关闭服务之前自动调用Tpreturn//响应后返回信息char*tpalloc(char*type,char*subtype,longsize)Type用于指定缓冲区类型,可取值STRINGFMLXML等Subtype用于指定缓冲区子类型,仅在分配VIEW缓冲区时,指定对应的C结构名,对于其它缓冲区来说,填NULLSize

2、是缓冲区大小,以字节为单位,如1024表示分配1KB缓冲区Tpalloc返还分配缓冲区的指针,返还NULL标识分配失败voidtpfree(char*ptr)Ptr是要释放的缓冲区的指针Tpfree没有返还值,也就是说不用判断它是否成功的释放了缓冲区inttpcall(char*svc,char*idata,longilen,char**odata,long*olen,longflags)Svc是要调用的服务名Idata是请求缓冲区指针,ilen是请求缓冲区长度Odata是指向响应缓冲区指针的指针,使用双

3、重指针的目的是便于动态调整响应缓冲区的大小Client:/*(c)2003BEASystems,Inc.AllRightsReserved.*//*Copyright(c)1997BEASystems,Inc.AllrightsreservedTHISISUNPUBLISHEDPROPRIETARYSOURCECODEOFBEASystems,Inc.Thecopyrightnoticeabovedoesnotevidenceanyactualorintendedpublicationofsuchsour

4、cecode.*//*#ident"@(#)samples/atmi/simpapp/simpcl.c$Revision:1.5$"*/#include#include"atmi.h"/*TUXEDOHeaderFile*/#ifdefined(__STDC__)

5、

6、defined(__cplusplus)main(intargc,char*argv[])#elsemain(argc,argv)intargc;char*argv[];#endif{char*sendbuf,*rcvbuf

7、;longsendlen,rcvlen;intret;if(argc!=2){(void)fprintf(stderr,"Usage:simpclstring");exit(1);}/*AttachtoSystem/TasaClientProcess*///向服务器传递客户认证信息if(tpinit((TPINIT*)NULL)==-1){(void)fprintf(stderr,"Tpinitfailed");exit(1);}sendlen=strlen(argv[1]);/*Allocate

8、STRINGbuffersfortherequestandthereply*///分配缓冲区if((sendbuf=(char*)tpalloc("STRING",NULL,sendlen+1))==NULL){(void)fprintf(stderr,"Errorallocatingsendbuffer");tpterm();exit(1);}if((rcvbuf=(char*)tpalloc("STRING",NULL,sendlen+1))==NULL){(void)fprintf(stderr

9、,"Errorallocatingreceivebuffer");tpfree(sendbuf);//释放指向缓冲区的指针tpterm();exit(1);}(void)strcpy(sendbuf,argv[1]);/*RequesttheserviceTOUPPER,waitingforareply*///调用服务ret=tpcall("TOUPPER",(char*)sendbuf,0,(char**)&rcvbuf,&rcvlen,(long)0);if(ret==-1){(void)fpri

10、ntf(stderr,"Can'tsendrequesttoserviceTOUPPER");(void)fprintf(stderr,"Tperrno=%d",tperrno);tpfree(sendbuf);tpfree(rcvbuf);tpterm();exit(1);}(void)fprintf(stdout,"Returnedstringis:%s",rcvbuf);/*FreeBuffers&Detac

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

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

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