⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simpcl.c

📁 tuxede下面的编程
💻 C
字号:
#include <stdio.h>#include "atmi.h"		/*myfunc must be defined as below,other define is error*/void _TMDLLENTRY myfunc(char *buffer,long len,long flag){	long len2;	char buftype[20],subtype[20];	if ((len2=tptypes(buffer,buftype,subtype))<0)	{		printf("invalid buffer receive;\n");	}	else if(!strcmp(buftype,"STRING"))	{		printf("unsolicited message from server\n:%s\n",buffer);	}	else if(!strcmp(buftype,"FML"))	{		printf("unsolicited message from server:\n");		Fprint(buffer);	}	else		printf("cannot print out buffer\n");	}#if defined(__STDC__) || defined(__cplusplus)main(int argc, char *argv[])#elsemain(argc, argv)int argc;char *argv[];#endif{	char *sendbuf, *rcvbuf;	long sendlen, rcvlen;	int ret;	TPEVCTL evctl;	int sub_serv=0;			if(argc != 2) {		(void) fprintf(stderr, "Usage: simpcl money\n");		exit(1);	}		/* Attach to System/T as a Client Process */	if (tpinit((TPINIT *) NULL) == -1) {		(void) fprintf(stderr, "Tpinit failed\n");		exit(1);	}	sendlen = strlen(argv[1]);	if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {		(void) fprintf(stderr,"Error allocating send buffer\n");		tpterm();		exit(1);	}	if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {		(void) fprintf(stderr,"Error allocating receive buffer\n");		tpfree(sendbuf);		tpterm();		exit(1);	}	if(tpsetunsol(myfunc)== TPUNSOLERR)	{		printf("tpsetunsol() failure:%s\n",tpstrerror(tperrno));		tpfree(sendbuf);		tpfree(rcvbuf);		tpterm();		exit(1);		}	//sub_serv=tpsubscribe(eventexpr,filter,(TPEVCTL *)NULL,TPSIGRSTRT);	evctl.flags = TPEVSERVICE;	strcpy(evctl.name1,"CLIENT");	sub_serv=tpsubscribe("BANK_TLR_WITHDRAWAL",NULL,(TPEVCTL *)NULL,TPSIGRSTRT);	if (sub_serv==-1L)	{		printf("tpsubscribe() failure:%s\n",tpstrerror(tperrno));	 	tpfree(sendbuf);		tpfree(rcvbuf);	 	tpterm () ;	 	exit(1);	}	else 		printf("tpsubscribe(BANK_TLR_WITHDRAWAL) success\n");		(void) strcpy(sendbuf, argv[1]);	ret = tpcall("WITHDRAWAL", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);	if(ret == -1) {		(void) fprintf(stderr, "tpcall(WITHDRAWAL) failure:%s\n",tpstrerror(tperrno));		tpfree(sendbuf);		tpfree(rcvbuf);		tpterm();		exit(1);	}	(void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);	if (tpunsubscribe(sub_serv,TPSIGRSTRT)==-1)	  	printf("tpunsubscribe():%s\n",tpstrerror(tperrno));	/* Free Buffers & Detach from System/T */	tpfree(sendbuf);	tpfree(rcvbuf);	tpterm();	return(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -