亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
在线精品亚洲一区二区不卡| 经典三级视频一区| 欧美日韩视频在线第一区| 亚洲综合小说图片| 欧美日韩精品欧美日韩精品 | 日日欢夜夜爽一区| 欧美精品乱人伦久久久久久| 免费日韩伦理电影| 国产亚洲欧美色| www.亚洲人| 图片区小说区区亚洲影院| 日韩视频在线你懂得| 狠狠色狠狠色综合| 国产精品久久久爽爽爽麻豆色哟哟| 成人综合在线观看| 一区二区三国产精华液| 欧美一区在线视频| 国产.精品.日韩.另类.中文.在线.播放 | 久久久美女艺术照精彩视频福利播放| 国产精品18久久久久久vr| 国产精品成人一区二区艾草 | 国产精品五月天| 在线观看成人小视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久综合狠狠综合久久激情| 91在线看国产| 免费高清在线一区| 国产精品久久毛片| 欧美一区二区视频在线观看2020 | 欧美精品一区二区三| caoporn国产一区二区| 天天做天天摸天天爽国产一区| 久久蜜桃av一区精品变态类天堂| 色综合久久久久综合体| 久久精品国产一区二区| 中文字幕一区二区三区在线观看 | 天堂资源在线中文精品| 国产精品午夜在线| 欧美一区二区视频在线观看2022| 成人激情综合网站| 裸体一区二区三区| 亚洲图片有声小说| 国产精品久久久久aaaa樱花| 日韩精品一区二区三区swag | 日韩综合小视频| 中文字幕一区二区三区四区不卡| 欧美一区二区三区播放老司机| 91一区一区三区| 国产美女精品人人做人人爽 | 亚洲欧洲色图综合| 精品1区2区在线观看| 欧美性色黄大片| 成人综合婷婷国产精品久久蜜臀| 午夜国产精品一区| 亚洲午夜久久久久| 中文字幕一区二区三区色视频| 精品国产一二三区| 欧美酷刑日本凌虐凌虐| 日本韩国欧美在线| 菠萝蜜视频在线观看一区| 国模套图日韩精品一区二区| 五月婷婷激情综合| 亚洲精品视频免费观看| 中文字幕一区二区在线播放| 精品99999| 亚洲精品在线观| 日韩欧美国产成人一区二区| 欧美精品精品一区| 欧美精品第1页| 欧美日本在线看| 欧美日韩国产在线播放网站| 91浏览器打开| 91农村精品一区二区在线| 成人av高清在线| 成人一二三区视频| 粉嫩欧美一区二区三区高清影视| 激情亚洲综合在线| 国产自产视频一区二区三区| 激情丁香综合五月| 国产伦精品一区二区三区在线观看| 人禽交欧美网站| 美国三级日本三级久久99 | 久久久久久久久99精品| 久久影院视频免费| 中文字幕va一区二区三区| 中文字幕在线观看一区| 亚洲欧美另类久久久精品| 亚洲精品高清在线| 三级精品在线观看| 激情成人综合网| 成人激情开心网| 91麻豆高清视频| 欧美日本免费一区二区三区| 欧美精品丝袜久久久中文字幕| 日韩一级完整毛片| 久久久久久综合| 亚洲欧洲日韩在线| 无吗不卡中文字幕| 精品一区二区三区影院在线午夜 | 中文字幕一区二区视频| 亚洲欧美另类久久久精品2019| 一区二区三区国产精华| 日本人妖一区二区| 国产福利精品一区| 91成人网在线| 欧美大片日本大片免费观看| 国产女同互慰高潮91漫画| 中文字幕在线不卡视频| 亚洲mv在线观看| 国内久久精品视频| 一本到不卡精品视频在线观看| 欧美视频精品在线| 久久久综合九色合综国产精品| 亚洲国产精品ⅴa在线观看| 一区二区三区小说| 极品少妇一区二区| 91年精品国产| 久久嫩草精品久久久精品一| 亚洲精品成人在线| 国产剧情一区在线| 欧美色综合影院| 亚洲精品乱码久久久久| 日日欢夜夜爽一区| 91在线观看一区二区| 9191精品国产综合久久久久久| 国产亚洲一区二区在线观看| 亚洲高清不卡在线观看| 国产麻豆欧美日韩一区| 欧美私模裸体表演在线观看| 国产拍揄自揄精品视频麻豆| 亚洲精品成人悠悠色影视| 国产一区二区三区视频在线播放| 在线国产亚洲欧美| 国产精品女人毛片| 精品一区二区三区免费| 在线观看av一区二区| 国产精品视频一区二区三区不卡| 日韩黄色小视频| 91久久精品一区二区三区| 中文一区二区在线观看| 久久99久久久久久久久久久| 欧美性猛交xxxx黑人交| 亚洲欧洲另类国产综合| 国产激情视频一区二区三区欧美 | 亚洲精品ww久久久久久p站| 国产麻豆精品在线观看| 欧美一区二区美女| 亚洲电影一区二区三区| 91在线观看美女| 国产精品女主播在线观看| 国产精品乡下勾搭老头1| 日韩免费一区二区三区在线播放| 亚洲成人av免费| 在线观看精品一区| 亚洲一区自拍偷拍| 色欲综合视频天天天| 国产精品不卡在线| 成人av在线网| 国产精品国产三级国产aⅴ中文 | 久久综合狠狠综合久久激情| 奇米精品一区二区三区在线观看一| 欧美专区亚洲专区| 一区二区三区免费| 在线观看一区不卡| 亚洲国产成人av好男人在线观看| 91丨porny丨首页| 亚洲女爱视频在线| 在线这里只有精品| 午夜电影网一区| 欧美一区二区私人影院日本| 奇米在线7777在线精品| 日韩欧美中文字幕精品| 国内精品免费在线观看| 久久青草欧美一区二区三区| 国内一区二区视频| 国产精品色哟哟| 一本大道久久a久久精品综合| 国产精品久久久久久久久快鸭 | 一区二区三区在线免费观看| 在线观看成人免费视频| 日精品一区二区三区| 欧美xxxxxxxx| 粉嫩av亚洲一区二区图片| 亚洲色图都市小说| 欧美日产在线观看| 九九在线精品视频| 亚洲国产精品成人综合| 色8久久精品久久久久久蜜| 午夜精品久久久久久不卡8050| 欧美一区二区在线免费观看| 国产尤物一区二区| 国产精品国产三级国产aⅴ原创| 色综合天天综合网天天看片| 午夜精品久久久久久久久久久| 日韩午夜电影在线观看| 国产精品亚洲综合一区在线观看| 综合久久一区二区三区| 777xxx欧美| 成人污视频在线观看| 亚洲成av人片www|