亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tuxedo.cpp

?? 本源碼為移動公司話費查詢中間件TUXEDO使用的實例
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/***************************************
* file name Tuxedo.h
* create date : 2002.12.01
*
*
****************************************/
#include <fml32.h>
#include <stdio.h>
#include "Tuxedo.h"
//#include "generalflds.h"
#include "general32.flds.h"
#include "blocksock.h"

extern TPINIT *tpinitbuf;

#define F_SEND  ((FLDID)41064)          /* number: 104   type: string */
//#define F_RECV  ((FLDID)41065)          /* number: 105   type: string */
#define F_RECV  ((FLDID32)167775414)    /* number: 3254  type: string */
//#define F_RECV_FLAG ((FLDID32)167775415)    /* number: 3255  type: string */

char CTuxedo::s_chSeparator[] = 
	{"------------------------------------------------"};


//CTuxedo::CTuxedo(CSHPPRequest *pShppRequest,char *pPhone,char *pMonth,char *pBusinessTitle,double *pfOutFeeCount,int *pnLineCount)
CTuxedo::CTuxedo(char *pPhone,char *pMonth,char *pBusinessTitle,double *pfOutFeeCount,int *pnLineCount)
{
	m_pPhone = NULL;
	m_pMonth = NULL;
//	m_pShppRequest = pShppRequest;
	m_pBusinessTitle = NULL;
	m_pShppRequest = NULL;
//	m_pfOutFeeCount = pfOutFeeCount;
//	m_pnLineCount = pnLineCount;
	startindex= 0;
	endindex = 0;
	m_bFlag1=FALSE;

	memset(msgbuf,'\0',256);

}

CTuxedo::~CTuxedo()
{
}

//與服務器連接
int CTuxedo::Td_Init(char *wsaddrlist)
{

	int  nNum =   20;
	char tempbuf[50];
	sprintf(tempbuf,"WSNADDR=%s",wsaddrlist);
	nNum=tuxputenv(tempbuf);
	printf("本次連接的地址是:%s\n",tempbuf);
//	nNum=tuxputenv("WSINTOPPRE71=YES");
	
	if (tpinit((TPINIT *) tpinitbuf) == -1)
	{
		(void) fprintf(stderr, "Tpinit failed\n");
		printf("ErrorNo:%d",tperrno);
		return -1;
	}
	return 0;
}


int CTuxedo::Td_tpterm(char *buf)
{
	if(buf!=NULL)
	{
		tpfree(buf);
		buf=NULL;		
	}
	return tpterm();
}


//密碼檢證



//1.號碼費用查詢(查詢單個號碼的費用)
int CTuxedo::AGetAllBill(char *wsaddrlist,char *pPhone,char *pBeginTime,CSHPPRequest *m_transRequest,char *linecount,char *totalfee,char *pErrinfo)
{	
//	return 1000;
	//初始化	
//	if(Td_Init("//10.110.2.151:15500")!=0)//wsaddrlist
	if(Td_Init(wsaddrlist)!=0)//wsaddrlist
		return 1000;

	FBFR32 * SndBuf = NULL;
	try
	{
		SndBuf=(FBFR32 *)tpalloc("FML32",NULL,1024);
	}
	catch(...)
	{
		Td_tpterm(NULL);
		return 1001;
	}
	if(SndBuf == NULL)
	{
		Td_tpterm(NULL);
		return 1001;
	}
	
	char select_type[2];   //話單類型
	char time_type[2];     //時間類型
	char time_string[29];  //時間串
	char login_accept[2];  //日志流水
	char today[10];         //當前時間
	char lines[10]="18"; 
	char show_flag[10]="1";
	
	strcpy(select_type,"0");

	strcpy(time_type, "1");//按出帳月查詢

	strncpy(time_string,pBeginTime,6); 
	time_string[6]='\0';
	
	strcpy(login_accept,"");
	login_accept[1]='\0';
	strcpy(today,"");
	today[1]='\0';


	//
	if(Fchg32(SndBuf,SEND_PARMS_NUM32,0,"8",(FLDLEN)0) < 0 )			
    {			
 		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	//操作工號
	if(Fchg32(SndBuf,GPARM32_0, 0, "caa131",(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	if(Fchg32(SndBuf,GPARM32_1, 0, pPhone,(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	if(Fchg32(SndBuf,GPARM32_2, 0, select_type,(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	if(Fchg32(SndBuf,GPARM32_3, 0, time_type,(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	if(Fchg32(SndBuf,GPARM32_4, 0, time_string,(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	if(Fchg32(SndBuf,GPARM32_5, 0, login_accept,(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	if(Fchg32(SndBuf,GPARM32_6, 0, today,(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }	
	//
	if(Fchg32(SndBuf,GPARM32_7, 0, lines,(FLDLEN)0) < 0 )
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }

	//
	if(Fchg32(SndBuf,RECP_PARMS_NUM32,0,"1",(FLDLEN)0)< 0 )			
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	//
	if(Fchg32(SndBuf,RECP_PARMS_NUM32,0,"1",(FLDLEN)0)< 0 )			
    {			
		Td_tpterm((char *)SndBuf);
		return 1002;
    }
	
	//開始調用服務 連接
	int irecvcd = 20;
	char ServiceName[20];
	strcpy(ServiceName,"s1510_printnew");

	irecvcd = tpconnect((char*)ServiceName,(char *)SndBuf,0,TPRECVONLY);
	if(irecvcd==-1)	
	{
		(void)fprintf(stderr,"tpconnect failed tperrno %d %s\n", tperrno, tpstrerror(tperrno));
		tpfree((char*)SndBuf);SndBuf=NULL;
		tpterm();
		return 1003;
	}
//===========================
//Fprint(SndBuf);	
//=================================
//申請調用服務的接受內存	
	tpfree((char*)SndBuf);
	SndBuf=NULL;//及時釋放

	char *messbuf    =NULL; //發送確認信息的時候使用
	FBFR32 * RcvBuf = NULL;	//接受的時候使用

	RcvBuf=(FBFR32 *)tpalloc("FML32",NULL,4*1024);//gengj 2005-8-25 修改緩沖區大小為原有的20倍
	messbuf=(char *)tpalloc("STRING",NULL,7);
	if(RcvBuf == NULL)
	{		
		Td_tpterm((char *)SndBuf);
		return 1001;
	}

	//讀取數據
	long revent = 0;
	long buflen = 0;
	char rpt_message[4096];
	int  ret;
	int  recordnumber=0;//返回記錄的條數

	//發送監控信息
	strncpy(msgbuf,pErrinfo,strlen(pErrinfo));
	strncpy(msgbuf+23,"[07]",4);
	SendMsg(msgbuf);
	printf("接受用戶 %s 的數據開始\n",pPhone);
	
	//開始讀取數據
	char *pchBuffer=NULL;
	int nBuffSize =200 * 256;//150*1024;
	int bufsize=0;

	pchBuffer = (char *)malloc(nBuffSize);
	if(pchBuffer==NULL)//申請完了要判斷
	{
		printf("********pchBuffer申請內存失敗************\n");
		tpfree((char*)SndBuf);
		SndBuf=NULL;
		tpfree((char*)RcvBuf);
		RcvBuf=NULL;
		tpfree(messbuf);
		messbuf=NULL;
		tpterm();
		return 1001;//沒有內存了		
	}

	try{//捕捉異常	
		while (1)
		{
			buflen=4096;//gengj 2005-8-25 修改接收長度為原來的20倍
			Finit32(RcvBuf,(FLDLEN32)Fsizeof32(RcvBuf));

			ret = tprecv(irecvcd,(char **)&RcvBuf,&buflen,TPNOCHANGE,&revent) ;
			if (( ret == -1 ) && (revent != TPEV_SVCSUCC) && revent != TPEV_SENDONLY )
			{
				printf("(%i) tprecv err:%s(%i) %i\n",	tpurcode,tpstrerror(tperrno),tperrno,__LINE__);
				//strncpy(queryack.ret_code, "0009", 5);
				tpfree((char*)SndBuf);
				SndBuf=NULL;

				tpfree((char*)RcvBuf);
				RcvBuf=NULL;

				tpfree(messbuf);
				messbuf=NULL;

				memset(pchBuffer,'\0',nBuffSize);
				free((char*)pchBuffer);	
				tpterm();
				
				return 1004;
				
			}
			
			if ( (revent==TPEV_SVCERR) || ( revent==TPEV_SVCFAIL ) )
			{
				/* tpurcode 是服務端返回的用戶自定義的返回碼 */
	//			if ( tpurcode == 10)
	//			{
					tpfree((char*)SndBuf);SndBuf=NULL;
					tpfree((char*)RcvBuf);RcvBuf=NULL;
					tpfree(messbuf);messbuf=NULL;
					tpterm();

					memset(pchBuffer,'0',nBuffSize-2);
					pchBuffer[nBuffSize-1]='\0';
					free((void*)pchBuffer);			
					return 1005;
			}
			
			recordnumber = 0;
			recordnumber = Foccur32(RcvBuf,F_RECV); /* 獲得一次接收到的結果集的條數 */		
			strcpy(rpt_message,"\0");
			
			if ( recordnumber == 0 ) break;		
			for (int i=0; i<recordnumber ;i++)
			//for (int i=0; i<20 ;i++)
			{
				memset(rpt_message,'\0',4096);	
				
				/* 從接收緩沖區中取出每條結果 */
				if ( Fget32(RcvBuf,F_RECV,i,(char *)rpt_message,NULL) < 0 )
				{
					printf("Fget 出錯\n");
					printf("(%i) tpsend err:%s(%i) %i\n",tpurcode,tpstrerror(tperrno),tperrno,__LINE__);

					tpfree((char*)SndBuf);SndBuf=NULL;
					tpfree((char*)RcvBuf);RcvBuf=NULL;
					tpfree(messbuf);messbuf=NULL;
					tpterm();
					memset(pchBuffer,'0',nBuffSize-2);
					pchBuffer[nBuffSize-1]='\0';
					free((void*)pchBuffer);			
					return 1005;
				}
				if(strlen(rpt_message)>4096)
				{
					printf("(%i) tpsend err:%s(%i) %i\n",tpurcode,tpstrerror(tperrno),tperrno,__LINE__);
					tpfree((char*)SndBuf);SndBuf=NULL;
					tpfree((char*)RcvBuf);RcvBuf=NULL;
					tpfree(messbuf);messbuf=NULL;
					tpterm();
					memset(pchBuffer,'0',nBuffSize-2);
					pchBuffer[nBuffSize-1]='\0';
					free((void*)pchBuffer);			
					return 1005;
				}
				if((bufsize+strlen(rpt_message)) >= nBuffSize)
				{
					nBuffSize += nBuffSize;
					pchBuffer = (char*)realloc(pchBuffer,nBuffSize);
					if(pchBuffer == NULL)
					{
						printf("################################\n");
						printf("!!!!!!!!申請內存失敗!!!!!!!!!!!!\n");
						printf("################################\n");
						tpfree((char*)SndBuf);SndBuf=NULL;
						tpfree((char*)RcvBuf);RcvBuf=NULL;
						tpfree(messbuf);messbuf=NULL;
						//memset(pchBuffer,'0',(nBuffSize/2)-2);
						//pchBuffer[(nBuffSize/2)-1]='\0';
						free((void*)pchBuffer);			
						pchBuffer=NULL;
						tpterm();					
						return 1000;
					}
				}
				strcpy(pchBuffer+bufsize,rpt_message);
				bufsize=bufsize+strlen(rpt_message);								
					
			}
					
			strcpy(messbuf,"RecvOK");		
			if( revent == TPEV_SENDONLY)
			{
				ret = tpsend(irecvcd,(char *)messbuf,strlen(messbuf),TPRECVONLY,&revent);
				/* 給服務端送接收狀態 */			
				if ( ret ==-1)
				{
					printf("(%i) tpsend err:%s(%i) %i\n",tpurcode,tpstrerror(tperrno),tperrno,__LINE__);
					tpfree((char*)SndBuf);SndBuf=NULL;
					tpfree((char*)RcvBuf);RcvBuf=NULL;
					tpfree(messbuf);messbuf=NULL;
					tpterm();
					//memset(pchBuffer,'0',nBuffSize-2);
					//pchBuffer[nBuffSize-1]='\0';
					free((void*)pchBuffer);			
					return 1005;
				}
			} 
			else 
			{
				//writelog("Return event not equal TPEV_SENDONLY !!!\n");
				printf("Return event not equal TPEV_SENDONLY !!!\n");
			}
			
		}  /* end while (1) */
	}//匹配catch{while(1)}

	catch(...)
	{
		if(SndBuf!=NULL){tpfree((char*)SndBuf);SndBuf=NULL;}
		if(RcvBuf!=NULL){tpfree((char*)RcvBuf);RcvBuf=NULL;}
		if(messbuf!=NULL){tpfree(messbuf);messbuf=NULL;}
		if(pchBuffer!=NULL)
		{
			free((void*)pchBuffer);			
			pchBuffer=NULL;
		}
		tpterm();
		return 1005;	
	}
	
	if(SndBuf!=NULL){tpfree((char*)SndBuf);SndBuf=NULL;}
	if(RcvBuf!=NULL){tpfree((char*)RcvBuf);RcvBuf=NULL;}
	if(messbuf!=NULL){tpfree(messbuf);messbuf=NULL;}
	tpterm();

	//判斷是否出差
	if(strstr(pchBuffer,"0000000000000")!=NULL)
	{
		printf("###0000000000000000000000000000##\n");
		free((void*)pchBuffer);	
		pchBuffer=NULL;
		return 1000;
	}
	else if(pchBuffer[0]=='\0')
	{
		free((void*)pchBuffer);	
		pchBuffer=NULL;
		return 1005;		
	}

	//發送監控信息
	strcpy(msgbuf+23,"[08]");
	SendMsg(msgbuf);
	printf("解析用戶 %s 的數據開始\n",pPhone);
	
	m_tempfee =0.0;
	m_tempcount=0;
	linecount=0;
	m_pShppRequest = m_transRequest;
	

	if(SendtoClient(pchBuffer,pPhone)!=0)//pchBuffer是pPhone的話單詳單字符串
	{
		printf("分解 %s 詳單異常出錯\n",pPhone);
		if(pchBuffer!=NULL)
		{
			//memset(pchBuffer,'0',nBuffSize-2);
			//pchBuffer[nBuffSize-1]='\0';
			free((void*)pchBuffer);			
			pchBuffer=NULL;
		}
		linecount=0;
//		m_pnLineCount=0;

		return 1006;
	}
	if(pchBuffer!=NULL)
	{
		//memset(pchBuffer,'0',nBuffSize-2);
		//pchBuffer[nBuffSize-1]='\0';
		free((void*)pchBuffer);			
		pchBuffer=NULL;
	}
	printf("解析用戶 %s 的數據結束\n",pPhone);
	m_pShppRequest=NULL;
	return 0;
	
}
//=====================================================
//根據文件名解析數據并發送到客戶端
//
//=====================================================
int CTuxedo::SendtoClient(char *filename,char *phone)
{

//	char rebuf[25600];//用于存放讀文件一行的信息

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品欧美精品系列| 欧美午夜一区二区三区| 91一区一区三区| 欧美一区2区视频在线观看| 国产日韩欧美在线一区| 亚洲不卡av一区二区三区| 波多野结衣在线一区| 99久久国产综合精品麻豆| 精品毛片乱码1区2区3区 | 国产电影一区二区三区| 欧美图区在线视频| 中文字幕在线一区| 国产一区二区在线免费观看| 3d动漫精品啪啪1区2区免费| 亚洲色图在线看| 懂色av一区二区在线播放| 日韩精品一区在线| 日韩电影网1区2区| 欧美吻胸吃奶大尺度电影 | 久久网站最新地址| 日韩精品亚洲专区| 欧美区一区二区三区| 亚洲一区二区美女| 在线视频欧美精品| 亚洲精品你懂的| 91国产视频在线观看| 亚洲三级理论片| 日本韩国精品一区二区在线观看| 国产精品视频在线看| 国产99精品视频| 久久综合给合久久狠狠狠97色69| 麻豆国产一区二区| 欧美一区二区三区在线看| 日韩不卡一二三区| 日韩欧美在线观看一区二区三区| 日本欧美一区二区三区乱码 | 久久久国产精华| 国产高清不卡二三区| 久久精品欧美一区二区三区不卡| 国产呦萝稀缺另类资源| 久久久精品tv| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品另类一区| 色婷婷av一区二区三区软件 | 亚洲美女区一区| 91麻豆精品视频| 亚洲一区二区三区爽爽爽爽爽| 在线观看一区二区视频| 天堂蜜桃91精品| 精品久久国产老人久久综合| 国产成人精品一区二| 中文字幕一区在线观看视频| 色婷婷久久99综合精品jk白丝| 午夜精品福利一区二区蜜股av | 一区二区三区精密机械公司| 欧美亚洲综合一区| 九九视频精品免费| 国产精品情趣视频| 欧美日韩日日摸| 老司机精品视频在线| 国产精品国产三级国产aⅴ无密码| 色狠狠一区二区| 日本不卡一区二区| 国产精品天美传媒沈樵| 色妹子一区二区| 另类小说一区二区三区| 自拍偷拍欧美激情| 日韩欧美亚洲国产另类| 99久久精品费精品国产一区二区| 日韩精品国产欧美| 国产精品女主播av| 欧美色图在线观看| 成人深夜福利app| 日本不卡视频在线观看| 亚洲欧美日韩电影| 久久亚洲综合色一区二区三区| 91在线小视频| 激情图区综合网| 亚洲电影欧美电影有声小说| 国产亚洲一区二区三区四区| 欧美日韩一级大片网址| 成人91在线观看| 韩国成人福利片在线播放| 亚洲亚洲人成综合网络| 欧美国产视频在线| 日韩三级免费观看| 在线免费观看一区| 成人一区二区三区| 九九视频精品免费| 偷窥少妇高潮呻吟av久久免费| 国产精品理论片在线观看| 精品国产污污免费网站入口| 欧美卡1卡2卡| 欧美性猛交xxxx乱大交退制版 | 亚洲在线视频免费观看| 国产日韩欧美精品电影三级在线| 91精品国产手机| 欧美日韩一区二区三区视频| 91在线精品一区二区| 国产成人精品在线看| 久久国产尿小便嘘嘘尿| 奇米影视一区二区三区小说| 一区二区三区四区五区视频在线观看 | 国产精品视频你懂的| 国产午夜三级一区二区三| 日韩欧美亚洲一区二区| 日韩一区二区三区精品视频| 欧美日韩高清影院| 欧美日韩电影一区| 欧美日韩免费高清一区色橹橹| 色欧美日韩亚洲| 欧美性生活一区| 欧美福利视频导航| 91精品国产综合久久久久久久久久 | 色综合中文字幕国产 | av不卡免费电影| jvid福利写真一区二区三区| 不卡一区中文字幕| 99re成人精品视频| 一本一道综合狠狠老| 精品视频资源站| 欧美一区二区在线不卡| 日韩三级av在线播放| 久久久久97国产精华液好用吗| 国产午夜久久久久| 综合激情网...| 亚洲一区在线看| 日韩成人dvd| 国产一区二区网址| www.亚洲在线| 欧美系列一区二区| 日韩三级视频中文字幕| 国产午夜亚洲精品不卡| 亚洲婷婷国产精品电影人久久| 亚洲一区二区三区四区在线免费观看| 亚洲午夜羞羞片| 精品一区二区三区蜜桃| 成人午夜激情片| 在线观看av一区| 91精品国产综合久久久久| 欧美一区二区在线不卡| 久久精品亚洲乱码伦伦中文 | 中文字幕精品一区| 亚洲精品日韩综合观看成人91| 日韩电影在线观看一区| 国产成人av电影免费在线观看| 色一情一伦一子一伦一区| 91精品国产综合久久精品app| 精品国产乱码久久久久久免费| 国产精品对白交换视频| 亚洲成人精品一区二区| 国产成人午夜精品影院观看视频| 色哟哟一区二区| 久久午夜色播影院免费高清| 一区二区三区四区不卡在线| 美女视频网站黄色亚洲| 91丨九色porny丨蝌蚪| 日韩欧美一级二级三级久久久| 国产精品成人免费精品自在线观看| 亚洲风情在线资源站| 国产激情视频一区二区三区欧美| 欧美日韩专区在线| 亚洲国产精华液网站w| 青青草91视频| 91丝袜美腿高跟国产极品老师| 欧美zozozo| 亚洲国产欧美一区二区三区丁香婷| 国内成+人亚洲+欧美+综合在线| 色婷婷亚洲精品| 国产精品女主播av| 国产一区欧美二区| 欧美日韩黄视频| 亚洲三级在线播放| 不卡av在线免费观看| 精品三级在线看| 午夜欧美电影在线观看| 色综合久久久久| 国产精品视频在线看| 国产剧情在线观看一区二区 | 欧美日韩高清一区二区不卡| 中文字幕亚洲电影| 国产精品羞羞答答xxdd| 538prom精品视频线放| 一区二区三区四区不卡在线 | 亚洲图片欧美一区| av在线播放不卡| 国产精品视频线看| 成人免费av资源| 欧美国产激情一区二区三区蜜月| 久久成人免费日本黄色| 日韩欧美一区二区免费| 婷婷亚洲久悠悠色悠在线播放 | 国产女人水真多18毛片18精品视频| 日日夜夜精品视频免费| 欧美中文一区二区三区| 亚洲综合免费观看高清在线观看| 99久久亚洲一区二区三区青草| 国产精品青草综合久久久久99| 成人午夜免费视频| 综合av第一页|