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

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

?? sendsms.cpp

?? 一個在linux下連接Sybase數據庫
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			switch(MaxStrategy[SAlarmsTable[i].ATable.AlarmCode.type].AlarmMode)
			{
			case 0:
				{
					if((unsigned long)time(0)>SAlarmsTable[i].Count)
					{
						SAlarmsTable[i].Count=0;
						SendGSMOntime(&SAlarmsTable[i]);
					}
				}
				break;
			case 1:
				{
					if(SAlarmsTable[i].Count>(unsigned long)MaxStrategy[SAlarmsTable[i].ATable.AlarmCode.type].DelayCount)
					{
						SAlarmsTable[i].Count=0;
						SendGSMOntime(&SAlarmsTable[i]);
					}
				}
				break;
			}
		}
	}
	AManage.DetectIdleTime();
	StrategyUpdate();
/*	static int i;
	if(i>Cfg.InterVal)
	{
//		WriteRealtimeStatus();
		i=0;
	}i++;
*/	
}
int SendSms::SendGSMOntime(_SAlarmsTable * pTable)
{
	char *lpTemp=MaxStrategy[pTable->ATable.AlarmCode.type].MSISDN_AlarmList;
	while(lpTemp)
	{
	
		if(*lpTemp!='+'&&!(*lpTemp>='0'&&*lpTemp<='9'))//判斷數字的合法性
			return 0;
		unsigned long MaxSN=time(0);
		static unsigned long i;
		GSMOntime Sms;
		memset(&Sms,0,sizeof(Sms));
		sprintf(Sms.ACCOUNT,"joyit@zyj%d",(int)MaxSN);
		sscanf(lpTemp,"%[^,]",Sms.CALLED);
		lpTemp=strstr(lpTemp,",");
		lpTemp=lpTemp?lpTemp+1:0;
		memcpy(Sms.CONTENT,pTable->ATable.Info,sizeof(Sms.CONTENT));
		sprintf(Sms.SRVPARAM,"%08d",(int)(MaxSN+i));
		sprintf(Sms.SERVICEID,"%s",Cfg.MSISDN);
		Sms.REGIDX=MaxSN+i;
		strcpy(Sms.CURSRVDT,"zyj@joyit.com.cn");
		Sms.RESENDCOUNT=2;
		int ret=::SendGSMOntime(&Sms,0);
		if(0==ret)
		{
			SMS *pMs=(SMS*)malloc(sizeof(SMS));
			if(pMs)
			{
				memcpy(&pMs->STable,&pTable->ATable,sizeof(pMs->STable));
				AManage.Add(MaxSN+i,pMs,Cfg.MaxTime);
				i++;
			}
#if TEST
			printf("告警表處理成功 type=%d:%s\n",(int)pMs->STable.AlarmCode.type,getLastError());
#endif
		}
		else
		{
			fprintf(stderr,"%s--SendGSMOntime function Error%s\n",GetCurrTime(),getLastError());
		}
		CommitWork();
	}
	return 0;
}

int SendSms::GetUpdate()
{
	disconnectDb(0);
	connectDb("sa","","SYBASE");
	unsigned long long DateTime[2];
	while(ReadAlarmsTable()==1)
	{
		DateTime[0]=StringTimeToInt(MaxSTable[STable.AlarmCode.type].DateTime);
		DateTime[1]=StringTimeToInt(STable.DateTime);
		if(DateTime[0]<DateTime[1])
		{
			STableState[STable.AlarmCode.type]=1;
			memcpy(&MaxSTable[STable.AlarmCode.type],&STable,sizeof(STable));
		}
	}
	while(ReadSMSendStrategy()==1)
	{
		memcpy(&MaxStrategy[Strategy.InfoType&15],&Strategy,sizeof(Strategy));
	}
	
#if TEST
	GSMOntime *pOntime;
	while((pOntime=ReadGSMOntime()))
	{
		GSMRECV Gsmrecv;
		memcpy(Gsmrecv.ser,pOntime->SRVPARAM,sizeof(Gsmrecv.ser));
		Gsmrecv.test=1;
		memcpy(Gsmrecv.mess,pOntime->CONTENT,sizeof(Gsmrecv.mess));
		memcpy(Gsmrecv.tel,pOntime->ACCOUNT,sizeof(Gsmrecv.tel));
		Gsmrecv.mtype=1;//rand()&1;
		if(0!=WriteGSMRecvTable(&Gsmrecv))
			printf("發送短信失敗:%s\n",getLastError());
		else
			printf("成功寫入RecvTable表\n");
	}
#endif
	while(ReadGSMRecvTable()==1)
	{
		int SN[2];
		SN[0]=atoi(GsmRecv[0].ser);
		SN[1]=atoi(GsmRecv[1].ser);
		if(SN[0]>SN[1])
		{
			memcpy(&GsmRecv[1],GsmRecv,sizeof(GsmRecv[0]));
			if(1==GsmRecv[1].mtype)
			{
				if(-1==WriteSendRecord())
				{
					fprintf(pLogFile,"%s --write SendRecord error:%s\n",GetCurrTime(),getLastError());
				}
			}
			else
			{
				fprintf(pLogFile,"%s --SMS Send error",GetCurrTime());
#if TEST
				printf("短信發送失敗,并不寫入結果表\n");
#endif
			}
		}
	}
	
	DeleteTable();
	disconnectDb(0);
	return 0;
}
void SendSms::DetectIdleTime()
{
	for(int i=0;i<16;i++)
	{
		if(0==SAlarmsTable[i].Strategy.AlarmMode&&TypeState[i]&&(unsigned long)time(0)>SAlarmsTable[i].Count)
		{
			SendMessage((SMS*)&SAlarmsTable[i]);
			SAlarmsTable[i].Count=~0;
			TypeState[i]=0;
		}
	}
}
int SendSms::CountDispose(SMS *pSMS)
{
	_SAlarmsTable *lpSAlarm=&SAlarmsTable[pSMS->STable.AlarmCode.type];
	memcpy(&lpSAlarm->ATable,&pSMS->STable,sizeof(AlarmsTable));
	memcpy(&lpSAlarm->Strategy,&pSMS->Strategy,sizeof(SendStrategy));
	if(++lpSAlarm->Count>=(unsigned long)pSMS->Strategy.DelayCount)
	{
		lpSAlarm->Count=0;
		if(!SendMessage(pSMS))
			return 0;
	}
#if TEST
	else
	{
		printf("短信并沒有達到策略表的數量短信正在積累中!\n");
	}
#endif	
	return -1;
}
void SendSms::StrategyUpdate()
{
	static unsigned long EndTime=time(0)+Cfg.StrategyTime;
	unsigned long CurrTime=time(0);
	if(CurrTime>EndTime)
	{
		InitStrategy();
		EndTime=time(0)+Cfg.StrategyTime;
	}
}
Manage::Manage()
{
	pInfo=(LPOPERA)malloc(sizeof(OPERA));
	memset(pInfo,0,sizeof(OPERA));
	pInfo->Next=(LPOPERA)malloc(sizeof(OPERA));	
	memset(pInfo->Next,0,sizeof(OPERA));
}
Manage::~Manage()
{
	LPOPERA ptr=pInfo;
	LPOPERA lp;
	while(ptr)
	{
		lp=ptr->Next;
		if(ptr->lpvoid)free(ptr->lpvoid);
		delete ptr;
		ptr=lp;
	}
}

void *Manage::operator[](int type)
{
	LPOPERA ptr=pInfo->Next;
	while(ptr)
	{
		if(ptr->Type==type)
			return ptr->lpvoid;
		ptr=ptr->Next;
	}
	return 0;
}
void *Manage::operator -(int type)
{
	LPOPERA ptr=pInfo->Next;
	while(ptr)
	{
		if(ptr->Type==type)
		{
			LPOPERA p1=pInfo;
			while(p1->Next!=ptr)
				p1=p1->Next;
			p1->Next=ptr->Next;
			void *lp=ptr->lpvoid;
			free(ptr);
			return lp;
		}
		ptr=ptr->Next;
	}
	return 0;
}
LPOPERA Manage::ASeekToEnd()
{
	LPOPERA lp=pInfo->Next;
	while(lp->Next)
		lp=lp->Next;
	return lp;
}
void Manage::DetectIdleTime()
{
	LPOPERA ptr=pInfo->Next;
	unsigned long Time=time(0);
	while(ptr)
	{
		if(ptr->EndTime&&Time>ptr->EndTime)
		{
#if TEST
			printf("發現一個操作超時:序號=%d\n",ptr->Type);
#endif
			void *lp=(*this)-ptr->Type;
			if(lp)free(lp);
		}
		ptr=ptr->Next;
	}
}
void* Manage::Add(int type,void *lpvoid,unsigned long Time)
{
	if((*this)[type])
		return 0;
	LPOPERA lp=ASeekToEnd();
	lp->lpvoid=lpvoid;
	lp->EndTime=time(0)+Time;
	lp->Next=(LPOPERA)malloc(sizeof(OPERA));
	if(!lp->Next)
		return 0;
	lp->Type=type;
	if(lp->Next)
	{
		memset(lp->Next,0,sizeof(OPERA));
	}
	return lp->Next;
}
int SendSms::WriteSendRecord()
{
	SMSendRecord Record;
	SMS *lpOntime=(SMS*)AManage[atoi(GsmRecv[1].ser)];
	if(lpOntime)
	{
		Record.AlarmCode=lpOntime->STable.AlarmCode.type;
		Record.InfoType=lpOntime->Strategy.InfoType;
		memcpy(Record.Info,lpOntime->STable.Info,sizeof(Record.Info));
		memcpy(Record.SendTime,lpOntime->STable.DateTime,sizeof(Record.SendTime));
		if(::WriteSendRecord(&Record,0)==0)
		{
#if TEST
			printf("--成功插入告警表Table \n");
#endif
			GetRecord();//更新告警表記錄
		}
#if TEST		
		else
			printf("--失敗插入告警表Table \n");
#endif		
		AManage-atoi(GsmRecv[1].ser);
		free(lpOntime);
		return 0;
	}
	return 1;
}
int SendSms::WriteSendRecord(unsigned long Sn)
{
	SMSendRecord Record;
	SMS *lpOntime=(SMS*)AManage[Sn];
	if(lpOntime)
	{
		Record.AlarmCode=lpOntime->STable.AlarmCode.code;
		Record.InfoType=lpOntime->STable.AlarmCode.type;
		memcpy(Record.Info,lpOntime->STable.Info,sizeof(Record.Info));
		memcpy(Record.SendTime,lpOntime->STable.DateTime,sizeof(Record.SendTime));
		if(::WriteSendRecord(&Record,0)==0)
		{
#if TEST
			printf("--成功插入告警表Table \n");
#endif
			GetRecord();//更新告警表記錄
		}
#if TEST
		else
			printf("--失敗插入告警表Table %s\n",getLastError());
#endif
		CommitWork();
		AManage-Sn;
		free(lpOntime);
		return 0;
	}
	return 1;
}

void SendSms::InitStrategy()
{
	memset(MaxStrategy,0,sizeof(MaxStrategy));
	while(ReadSMSendStrategy()==1)
	{
		memcpy(&MaxStrategy[Strategy.InfoType&15],&Strategy,sizeof(Strategy));
	}
}
void SendSms::InitRecvTable()
{
	while(ReadGSMRecvTable()==1)
	{
		int SN[2];
		SN[0]=atoi(GsmRecv[0].ser);
		SN[1]=atoi(GsmRecv[1].ser);
		if(SN[0]>SN[1])
		{
			memcpy(&GsmRecv[1],GsmRecv,sizeof(GsmRecv[0]));
		}
	}
}
void SendSms::InitAlarmsTable()
{
	unsigned long DateTime[2];
	while(ReadAlarmsTable()==1)
	{
		DateTime[0]=StringTimeToInt(MaxSTable[STable.AlarmCode.type].DateTime);
		DateTime[1]=StringTimeToInt(STable.DateTime);
		if(DateTime[0]<DateTime[1])
		{
			memcpy(&MaxSTable[STable.AlarmCode.type],&STable,sizeof(MaxSTable[STable.AlarmCode.type]));
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品―色哟哟| 国产一区在线观看麻豆| 国产美女精品在线| 欧美午夜片在线观看| 久久蜜桃av一区精品变态类天堂| 天天亚洲美女在线视频| 91日韩精品一区| 欧美激情一区三区| 韩国欧美一区二区| 日韩欧美专区在线| 午夜精品爽啪视频| 欧洲国产伦久久久久久久| 最近中文字幕一区二区三区| 国产成人夜色高潮福利影视| 欧美本精品男人aⅴ天堂| 午夜精品久久久久影视| 欧美日韩高清一区二区不卡| 一区二区三区在线观看欧美| 91最新地址在线播放| 国产精品灌醉下药二区| 不卡的av电影| 国产精品国产精品国产专区不蜜| 国产不卡视频一区二区三区| 26uuu精品一区二区三区四区在线| 日韩av高清在线观看| 欧美精品一级二级| 午夜激情综合网| 宅男噜噜噜66一区二区66| 亚洲成av人片一区二区三区| 欧美日韩高清影院| 免费av网站大全久久| 日韩视频免费观看高清完整版| 日韩精品一二区| 日韩欧美一区在线| 经典三级视频一区| 国产丝袜欧美中文另类| 波多野结衣欧美| 亚洲人成在线观看一区二区| 欧美性感一区二区三区| 三级精品在线观看| 欧美大片在线观看一区二区| 国产在线精品不卡| 国产精品久久777777| 91丨porny丨首页| 亚洲高清一区二区三区| 欧美白人最猛性xxxxx69交| 国产在线观看一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 成人av第一页| 午夜视频一区二区三区| 精品成人一区二区三区四区| 国产成人精品网址| 亚洲黄色免费网站| 日韩亚洲欧美一区二区三区| 国产经典欧美精品| 日韩理论片网站| 欧美精品在线视频| 粗大黑人巨茎大战欧美成人| 一区二区三区四区不卡在线| 欧美一级高清片| 成人av免费在线播放| 视频一区视频二区在线观看| 国产欧美一区二区精品秋霞影院| 欧美最猛性xxxxx直播| 国产综合色精品一区二区三区| 精品福利av导航| 伦理电影国产精品| 中文字幕av免费专区久久| 欧美综合视频在线观看| 精品在线播放午夜| 亚洲免费在线看| 精品国产乱码久久久久久久久| 色呦呦一区二区三区| 久久国产尿小便嘘嘘| **性色生活片久久毛片| 欧美sm美女调教| 在线观看成人免费视频| 国产福利91精品一区| 亚洲国产精品影院| 国产精品久久久久久久久免费桃花| 欧美日韩一区三区| 99久久精品一区| 国内不卡的二区三区中文字幕 | 久久只精品国产| 色婷婷综合久久久久中文一区二区| 精品无码三级在线观看视频| 久久精品亚洲麻豆av一区二区| 91麻豆国产精品久久| 免费精品视频最新在线| 一区二区成人在线| 国产精品区一区二区三区| 精品国产乱码久久久久久免费| 欧美日韩一级二级| 97aⅴ精品视频一二三区| 91女神在线视频| 久久成人精品无人区| 亚洲r级在线视频| 国产精品久99| 国产精品久久久久久久午夜片| 久久久综合九色合综国产精品| 日韩一区二区免费电影| 欧美精品在线观看播放| 欧美日韩一区视频| 欧美日韩高清在线| 欧美日韩国产中文| 欧美亚洲综合网| 欧美亚洲国产一卡| 欧美在线三级电影| 久久亚洲综合av| 色婷婷激情综合| 91丨九色丨尤物| 91猫先生在线| 色噜噜狠狠一区二区三区果冻| 91网站在线播放| 色噜噜夜夜夜综合网| 91福利国产成人精品照片| 在线免费观看一区| 欧美日韩国产乱码电影| 欧美一区欧美二区| 日韩欧美亚洲国产另类| 欧美一级国产精品| 久久综合久久鬼色中文字| 久久你懂得1024| 国产精品久久久一本精品| 亚洲欧美日韩在线| 亚洲va欧美va人人爽午夜| 午夜精彩视频在线观看不卡| 免费av网站大全久久| 国产精品一区二区三区乱码| 不卡的电视剧免费网站有什么| 不卡电影一区二区三区| 色网站国产精品| 欧美精品在欧美一区二区少妇| 国产精品情趣视频| 国产精品久久一级| 亚洲美女精品一区| 亚洲一区二区高清| 狠狠狠色丁香婷婷综合久久五月| 国产精品一区二区果冻传媒| gogo大胆日本视频一区| 在线免费一区三区| 精品久久久久香蕉网| 日本一区二区免费在线| 亚洲精品高清视频在线观看| 日日夜夜精品视频天天综合网| 国产精品一区三区| av在线不卡观看免费观看| 欧美精品v日韩精品v韩国精品v| 久久综合久久综合亚洲| 一片黄亚洲嫩模| 激情综合网最新| 91久久久免费一区二区| 91精品福利在线一区二区三区| 中文字幕免费在线观看视频一区| 亚洲午夜精品在线| 国产精品99久久久久久久女警| 色综合久久综合网97色综合| 精品国产乱码久久久久久久久| 久久亚洲精精品中文字幕早川悠里| 欧美不卡激情三级在线观看| 欧美激情中文字幕| 日韩影院免费视频| 99热这里都是精品| xnxx国产精品| 亚洲超碰97人人做人人爱| 成人高清免费观看| 日韩午夜在线播放| 亚洲一区二区三区四区在线观看 | 日韩国产高清影视| 成人sese在线| 久久久一区二区三区| 五月天一区二区三区| 色呦呦日韩精品| 成人欧美一区二区三区小说 | 综合精品久久久| 韩国v欧美v亚洲v日本v| 91精品综合久久久久久| 亚洲一区影音先锋| 99国产精品国产精品久久| 成人av网站免费| 91精品国产乱| 亚洲aⅴ怡春院| 色综合久久九月婷婷色综合| 国产日产欧美一区二区视频| 久久精品久久99精品久久| 欧美老年两性高潮| 亚洲一区在线观看视频| 91在线免费看| 国产精品萝li| 成人在线视频一区| 中文字幕二三区不卡| 丁香天五香天堂综合| 日本一区二区三区四区在线视频| 国产综合色在线视频区| 久久久三级国产网站| 国产福利精品导航| 国产精品白丝在线| 色综合天天综合网天天狠天天| 亚洲欧美另类在线| 欧美色涩在线第一页|