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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dsserver.cpp

?? 是自己開發(fā)的程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
	pthread_t	hPreviewThread;	pthread_t	hAlarmThread;	pthread_attr_init(&attr);	pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);	pthread_create(&hPreviewThread, &attr, intermediary, (void *)NULL);	pthread_attr_init(&attr);	pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);	pthread_create(&hAlarmThread, &attr, loopWaitAlarm, (void *)NULL);}void* DsServer::loopWaitAlarm(void *ptr){    while(*isExit == 0){		if(*isAlarm0)			AlarmInfo(0x01,0x00);	// 通道1手動報警		if(*isAlarm1)			AlarmInfo(0x01,0x01);	// 通道2手動報警		if(*isAlarm2)			AlarmInfo(0x01,0x02);	// 通道3手動報警		if(*isAlarm3)			AlarmInfo(0x01,0x03);	// 通道4手動報警		if(((*isSF)==1) && (oldSF == 0))		{			AlarmInfo(0x02,0x03);	// 設(shè)防			oldSF = 1;		}		if(((*isSF)==0) && (oldSF == 1))		{			AlarmInfo(0x03,0x03);	// 撤防			oldSF = 0;		}		sleep(1);	}	return NULL;}//==================================================//==================================================//各種回掉函數(shù)//==================================================void disconnect_callback(int nport, char* sIP){	net_flag[nport]--;	if(net_flag[nport]==0)	{		memset(net_head_flag, 0, sizeof(net_head_flag));	}//	printf("\r\nthe client from ip %s to channel %d disconnect!\n", sIP,nport);}int checkIpAndPass(int channel, char *username, int namelen, char *password, int passlen, char *sIP){//	printf("Check IP: channel = %d, IP= %s; username = %s, namelen = %d, password = %s, passname = %d\n", channel, sIP, username, namelen, password, passlen);	return 0;}void start_capture_callback(int port)	//for server start{	if(*(gRecord+port*sizeof(unsigned short)) && ( port < *channelCount)){//fixed at 2004.11.11		//g_timer_start(count_timer);		StartVideoCapture(channelHandle[port]);		HW_PlaySound(channelHandle[port]);		HW_SetVolume(channelHandle[port],0xffff);		if(gSubRecord[port])		{			StartSubVideoCapture(channelHandle[port]);			fprintf(stderr,"<demo_info> start sub channel capture for chan%d!\n", port);		}	}}void stop_capture_callback(int port)	//for server stop{	if(*(gRecord+port*sizeof(unsigned short)) && (port < *channelCount)){//fixed at 2004.11.11		//g_timer_stop(count_timer);		StopVideoCapture(channelHandle[port]);		HW_SetAudioPreview(channelHandle[port], 0);		SetAudioPreview(channelHandle[port],0);	}}//===================================================================void AlarmInfo(unsigned char a,unsigned char b){	struct sockaddr_in client_addr;	int    listenfd;	TAlarm alarmInfo;	memset(&client_addr, 0, sizeof(client_addr));	memset(&alarmInfo,0,sizeof(TAlarm));	listenfd = socket(AF_INET, SOCK_STREAM, 0);	if(listenfd < 0)	{		printf("%s \n", " listen from middle server.");	        return;	}	client_addr.sin_family = AF_INET;	client_addr.sin_port   = htons(5001);	inet_aton(alarmip, &client_addr.sin_addr);	if(connect(listenfd, (struct sockaddr*)&client_addr, sizeof(struct sockaddr)) == -1)	{		printf("%s \n", " connect error from middle server!");		close(listenfd);		return;	}	switch(a)	{	case 0x00:		//req.code =0;		//strcpy(req.s_name,"源杰DVR");		//sprintf(req.s_msg ,"通道 %d 有可疑移動物體...",b);		alarmInfo.iType = htons(0x01);		alarmInfo.iAlarmType = htons(0x03);		alarmInfo.iChannel = htons(b);		alarmInfo.iReserve = htons(0);		send(listenfd,(char *)&alarmInfo,sizeof(TAlarm),0);		break;	case 0x01:		/*req.code =0;		strcpy(req.s_name,"源杰DVR");		strcpy(req.s_msg ,"通道1手動報警!");*/		alarmInfo.iType = htons(0x01);		alarmInfo.iAlarmType = htons(0x02);		alarmInfo.iChannel = htons(b+1);		alarmInfo.iReserve = htons(0);		send(listenfd,(char *)&alarmInfo,sizeof(TAlarm),0);		switch(b)		{			case 0x00:				*isAlarm0 =0;				break;			case 0x01:				*isAlarm1 =0;				break;			case 0x02:				*isAlarm2 =0;				break;			case 0x03:				*isAlarm3 =0;				break;			default:				break;		}		break;	case 0x02:		alarmInfo.iType = htons(0x01);		alarmInfo.iAlarmType = htons(0x06);		alarmInfo.iChannel = htons(b);		alarmInfo.iReserve = htons(0);		send(listenfd,(char *)&alarmInfo,sizeof(TAlarm),0);		break;	case 0x03:		alarmInfo.iType = htons(0x01);		alarmInfo.iAlarmType = htons(0x07);		alarmInfo.iChannel = htons(b);		alarmInfo.iReserve = htons(0);		send(listenfd,(char *)&alarmInfo,sizeof(TAlarm),0);		break;	}	if(listenfd)		close(listenfd);//	fprintf(stderr,"\n=====================ALARM=======================\n");}void callback(int channelNum,char * buf,int frametype,int length){	int retval,subType;	#if 0		if((channelNum == 0) && (frametype != PktAudioFrames))			printf("channel=%d, frametype=0x%x, framelength=%6d\n", channelNum,frametype,length);	#endif	subType = GetSubChannelStreamType(buf, frametype);	switch(frametype)	{		case PktSubIFrames:		case PktSubPFrames:		case PktSubBBPFrames:		case PktSubSysHeader:		{			if(frametype == PktSubSysHeader){				fprintf(stderr,"<info> have get the sub channel sys header for chan%d!\n", channelNum);				memcpy(cifqciffile_head[channelNum], buf, length);				*head_size = length;			}			if(*(gRecord+channelNum*sizeof(unsigned short)) && cifqcif_fd[channelNum] && ((subType == 2)||(subType == 4)||(subType == 5))){				if(gMoveRecord ==0)					write(cifqcif_fd[channelNum], buf, length);				else if(gMoveRecord && isMoving[channelNum])					write(cifqcif_fd[channelNum], buf, length);			}			break;		}		case PktSysHeader:		case PktIFrames:		case PktPFrames:		case PktBBPFrames:		case PktAudioFrames:		case PktSFrames:		{			if(gSubRecord[channelNum] == 0)			{				if(frametype == PktSysHeader){					memcpy(file_head+channelNum*40, buf, length);					*head_size = length;				}				if(*(gRecord+channelNum*sizeof(unsigned short)) && *(record_fd+channelNum)){					if(gMoveRecord == 0 )					{						write(*(record_fd+channelNum), buf, length);						*(gCurrentFileSize+channelNum*sizeof(unsigned long)) += length;					}else if((gMoveRecord && isMoving[channelNum]) ||  frametype==PktSysHeader)					{						write(*(record_fd+channelNum), buf, length);						*(gCurrentFileSize+channelNum*sizeof(unsigned long)) += length;					}					//add at 2005.6.2 to create the index file	                /*nodeinfo[channelNum].FilePos += length;        	        if(frametype == PktSysHeader)                	        nodeinfo[channelNum].FrameNum=0;                    if(frametype == PktIFrames)                    {                            write(index_fd[channelNum], &nodeinfo[channelNum], sizeof(nodeinfo[channelNum]));	                //      fprintf(stderr,"<demo_info> write to index file!\n");        	                nodeinfo[channelNum].FrameNum++;                	}					if(frametype == PktBBPFrames)                            nodeinfo[channelNum].FrameNum+=3;*/				}				/*if(net_flag[channelNum]){					if(net_head_flag[channelNum] == 0){						if(frametype != PktSysHeader){							MP4_ServerWriteDataEx(channelNum,file_head[channelNum], head_size, PktSysHeader, 0,0);						}						else                            MP4_ServerWriteDataEx(channelNum,(char*)buf,length,frametype, 0,0);						net_head_flag[channelNum] = 1;					}					else					{                        MP4_ServerWriteDataEx(channelNum,(char*)buf,length,frametype, 0,0);             		}				}*/				MP4_ServerWriteData(channelNum,(char *)buf,length,frametype,0);			}			//retval = MP4_ServerWriteData(channelNum,(char *)buf,length,frametype,0);			break;		}		case PktMotionDetection://printf("PKt isSF =  %d\n",*isSF);			//if(*isSF)				//AlarmInfo(0,channelNum);			break;		default:			break;	}}int  gcheckpass(char * usename, int namelen, char * password, int passlen){//	fprintf(stderr,"i am in checkpass\n");//	fprintf(stderr,"usename=%s\n,pass=%s\n",usename,password);//	fprintf(stderr,"lenname=%d,passlen=%d\n",namelen,passlen);	return 0;}int gcheckip(int iChannel, char * sIP){	net_flag[iChannel]++;//	fprintf(stderr,"i am in checkip\n");//	fprintf(stderr,"ichannel=%d,ip=%s\n",iChannel,sIP);	return 0;}void gmessage(char * buf, int iLen){	char ts[100];	char msg[50];	char myIP[50];	char par[6][4];	int i=0,j=0;	//int fd = -1;	memset(par,0,24);	memset(msg,0,50);	strncpy(msg,buf,iLen);	char *token = strtok(msg,",");	while(token!=NULL)	{		strcpy(par[i] ,token);		token = strtok(NULL,",");		i++;	}	if(atoi(par[0]) == 11){		j=atoi(par[1]);		SetVideoPara(channelHandle[j],atoi(par[2]),atoi(par[3]),atoi(par[4]),atoi(par[5]));	}	if(atoi(par[0])==22)	{		// fd = OpenAdrPort(COM_PORT);	  //printf("par[1]=%d,par[2]=%d,par[3]=%d.fd=%d\n",atoi(par[1]),atoi(par[2]),atoi(par[3]),fd);		if(fd >= 0)		{			switch(atoi(par[2]))			{				case 0:					CameraStop(fd,(unsigned int)(atoi(par[1])+1));					break;				case 1:					PanLeft(fd,(unsigned int)(atoi(par[1])+1),(unsigned int)(atoi(par[3])));					break;				case 2:					PanRight(fd,(unsigned int)(atoi(par[1])+1),(unsigned int)(atoi(par[3])));					break;				case 3:					TiltUp(fd,(unsigned int)(atoi(par[1])+1),(unsigned int)(atoi(par[3])));					break;				case 4:					TiltDown(fd,(unsigned int)(atoi(par[1])+1),(unsigned int)(atoi(par[3])));					break;				case 5:					AutoScan(fd,(unsigned int)(atoi(par[1])+1));					break;				case 6:					#ifdef Pelco_D					ManualScan(fd,(unsigned int)(atoi(par[1])+1));					#else					CameraStop(fd,(unsigned int)(atoi(par[1])+1));					#endif					break;				case 7:					PanTilt(fd,(unsigned int)(atoi(par[1])+1),									(unsigned int)0,(unsigned int)(atoi(par[3])),									(unsigned int)0,(unsigned int)(atoi(par[3])));					break;				case 8:					PanTilt(fd,(unsigned int)(atoi(par[1])+1),									(unsigned int)0,(unsigned int)(atoi(par[3])),									(unsigned int)1,(unsigned int)(atoi(par[3])));					break;				case 9:					PanTilt(fd,(unsigned int)(atoi(par[1])+1),									(unsigned int)1,(unsigned int)(atoi(par[3])),									(unsigned int)0,(unsigned int)(atoi(par[3])));					break;				case 10:					PanTilt(fd,(unsigned int)(atoi(par[1])+1),									(unsigned int)1,(unsigned int)(atoi(par[3])),									(unsigned int)1,(unsigned int)(atoi(par[3])));					break;				case 11:					AutoFocusOn(fd,(unsigned int)(atoi(par[1])+1));					SetFocusSpeed(fd,(unsigned int)(atoi(par[1])+1), (unsigned int)(atoi(par[3])));					AutoFocusAuto(fd,(unsigned int)(atoi(par[1])+1));					break;				case 12:					AutoFocusOff(fd,(unsigned int)(atoi(par[1])+1));					break;				case 13:					AutoFocusOff(fd,(unsigned int)(atoi(par[1])+1));					SetFocusSpeed(fd,(unsigned int)(atoi(par[1])+1), (unsigned int)(atoi(par[3])));					FocusNear(fd,(unsigned int)(atoi(par[1])+1));					break;				case 14:					AutoFocusOff(fd,(unsigned int)(atoi(par[1])+1));					SetFocusSpeed(fd,(unsigned int)(atoi(par[1])+1), (unsigned int)(atoi(par[3])));					FocusFar(fd,(unsigned int)(atoi(par[1])+1));					break;				case 15:					break;				case 16:					break;				case 17:					SetZoomSpeed(fd,(unsigned int)(atoi(par[1])+1), (unsigned int)(atoi(par[3])));					ZoomTele(fd,(unsigned int)(atoi(par[1])+1));					break;				case 18:					SetZoomSpeed(fd,(unsigned int)(atoi(par[1])+1), (unsigned int)(atoi(par[3])));					ZoomWide(fd,(unsigned int)(atoi(par[1])+1));					break;				case 19:					AutoIrisOn(fd,(unsigned int)(atoi(par[1])+1));					AutoIrisAuto(fd,(unsigned int)(atoi(par[1])+1));					break;				case 20:					AutoIrisOff(fd,(unsigned int)(atoi(par[1])+1));					break;				case 21:					AutoIrisOff(fd,(unsigned int)(atoi(par[1])+1));					IrisClose(fd,(unsigned int)(atoi(par[1])+1));					break;				case 22:					AutoIrisOff(fd,(unsigned int)(atoi(par[1])+1));					IrisOpen(fd,(unsigned int)(atoi(par[1])+1));					break;				default:					break;			}		}		//CloseAdrPort(fd);	}	memset(buf,0,strlen(buf));}void motiondetectcallback(ULONG channel,int bMotion,void * content){	static time_t lastTime = 0;	time_t nowTime;	if(*isSF && isMoving[channel] != bMotion && isMoving[channel]==0)	{		nowTime = time(NULL);		if((lastTime == 0) || ((nowTime - lastTime) >= 1800))		{			lastTime = nowTime;			AlarmInfo(0x00,(unsigned char)channel);	  }	}	isMoving[channel] = bMotion;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费xxxxxxxx| 亚洲成av人片观看| 欧美色图天堂网| 波多野结衣的一区二区三区| 久久国产精品第一页| 石原莉奈在线亚洲二区| 亚洲午夜电影在线| 亚洲综合小说图片| 久久精品国产第一区二区三区| 欧美韩国一区二区| 久久精品视频在线免费观看| 2014亚洲片线观看视频免费| 精品国产青草久久久久福利| 26uuu亚洲| 久久久久99精品国产片| 国产日韩欧美综合在线| 国产欧美日韩一区二区三区在线观看| 久久色在线观看| 亚洲国产精品激情在线观看| 中文字幕一区二区三区不卡| 亚洲精品美腿丝袜| 亚洲第一成人在线| 天堂影院一区二区| 日本视频中文字幕一区二区三区| 另类欧美日韩国产在线| 国产真实乱子伦精品视频| 国产一区二区免费看| 丁香婷婷深情五月亚洲| 91视频.com| 欧美日韩成人高清| 久久蜜桃香蕉精品一区二区三区| 国产午夜精品一区二区| 久久久亚洲欧洲日产国码αv| 精品欧美一区二区三区精品久久| 久久久久久久综合日本| 国产综合色精品一区二区三区| 国产不卡高清在线观看视频| 欧美日韩三级在线| 欧美日韩精品专区| 精品久久久久久久人人人人传媒| 国产日韩精品一区二区三区| 亚洲欧美区自拍先锋| 午夜精品久久久久久久 | 26uuu亚洲| 国产精品国产精品国产专区不蜜| 亚洲综合激情另类小说区| 日韩成人精品在线| 成人亚洲精品久久久久软件| 91国偷自产一区二区三区观看| 精品国产麻豆免费人成网站| 一本久久a久久免费精品不卡| 欧美视频在线播放| 久久久久久免费网| 成人欧美一区二区三区视频网页 | 亚洲一区二区三区国产| 喷水一区二区三区| 成人a免费在线看| 欧美巨大另类极品videosbest | 亚洲国产cao| 日韩精品中文字幕在线不卡尤物| 精品电影一区二区三区| 亚洲欧美综合色| 99久久精品国产导航| 午夜精品国产更新| 欧美性猛片aaaaaaa做受| 亚洲免费观看在线视频| 激情文学综合丁香| 精品国产电影一区二区| 亚洲精品亚洲人成人网在线播放| 经典三级在线一区| 欧美亚洲精品一区| 久久精品在这里| 久久99久国产精品黄毛片色诱| 色av一区二区| 亚洲欧洲日产国码二区| 激情综合五月婷婷| 欧美一区二区在线观看| 一区二区三区国产| 丰满岳乱妇一区二区三区| 欧美变态tickle挠乳网站| 蜜桃av一区二区三区电影| 欧美日韩在线播放三区四区| 亚洲三级小视频| 91丝袜高跟美女视频| 亚洲欧洲精品成人久久奇米网| 激情图片小说一区| 亚洲一区二区中文在线| 欧美一区二区三区公司| 日本一区二区三区在线观看| 午夜精品福利一区二区蜜股av| 91九色最新地址| 亚洲成人中文在线| 亚洲v精品v日韩v欧美v专区| 丝袜美腿高跟呻吟高潮一区| 国产精品免费人成网站| 久久成人免费网| 在线播放欧美女士性生活| 一区二区三区欧美日| 成人91在线观看| 欧美国产丝袜视频| 国产精品一区在线观看你懂的| 国产一区二区不卡在线| 粉嫩13p一区二区三区| 国产精品青草综合久久久久99| 成人国产精品免费观看| 亚洲一区二区视频在线观看| 国产欧美一二三区| 成人动漫精品一区二区| 中文字幕一区二区三区色视频| 99re热这里只有精品免费视频| 大美女一区二区三区| 精品在线播放午夜| 国产99久久久国产精品潘金网站| 国产乱人伦偷精品视频免下载 | 7777精品伊人久久久大香线蕉超级流畅 | 狠狠色丁香九九婷婷综合五月| 九色综合狠狠综合久久| 国内成+人亚洲+欧美+综合在线| 国产成人精品一区二| 国产91精品一区二区麻豆网站| 不卡免费追剧大全电视剧网站| 在线中文字幕不卡| 日韩欧美一级特黄在线播放| 国产午夜精品久久久久久免费视| 成人免费一区二区三区视频| 日韩电影免费在线| 成人国产电影网| 欧美喷水一区二区| 国产视频不卡一区| 日韩中文字幕一区二区三区| 亚洲综合小说图片| 国产欧美日韩精品在线| 日韩欧美在线网站| 欧美日韩精品一区二区天天拍小说 | 亚洲天堂av老司机| 亚洲婷婷综合久久一本伊一区| 99re热这里只有精品免费视频| 一区二区三区日韩精品| 欧美日本免费一区二区三区| 日本午夜一本久久久综合| 精品少妇一区二区三区在线播放 | 精品电影一区二区三区 | 久久天天做天天爱综合色| 成人动漫视频在线| 五月婷婷色综合| 久久精品欧美一区二区三区麻豆| 91在线国产福利| 麻豆中文一区二区| 国产精品乱码一区二三区小蝌蚪| 在线日韩av片| 久久国产尿小便嘘嘘| 亚洲欧美色一区| 日韩欧美色电影| 91在线免费视频观看| 久久电影网站中文字幕| 亚洲日本在线看| 欧美电影免费观看高清完整版在线观看| 国产大陆a不卡| 日韩黄色小视频| 欧美国产成人精品| 欧美日韩精品专区| 成人三级在线视频| 首页国产欧美日韩丝袜| 国产精品初高中害羞小美女文| 欧美一区二区三区视频在线观看| www.久久精品| 美日韩黄色大片| 亚洲精品视频免费观看| 精品国产一区二区三区忘忧草 | 国产成人免费视频网站| 亚洲成精国产精品女| 亚洲国产精品精华液2区45| 欧美电影一区二区三区| jiyouzz国产精品久久| 蜜臀va亚洲va欧美va天堂| 亚洲免费在线观看视频| 久久综合色播五月| 欧美日韩精品专区| 91麻豆福利精品推荐| 国产成人精品一区二区三区网站观看 | 婷婷夜色潮精品综合在线| 国产精品二区一区二区aⅴ污介绍| 日韩一级黄色大片| 欧美在线观看视频一区二区| 盗摄精品av一区二区三区| 狂野欧美性猛交blacked| 亚洲bt欧美bt精品| 亚洲欧美另类在线| 国产欧美精品国产国产专区| 日韩欧美亚洲国产另类| 在线成人小视频| 在线精品观看国产| 91一区一区三区| 成人精品鲁一区一区二区| 狠狠久久亚洲欧美| 精品一区二区在线观看| 免费成人美女在线观看.| 午夜精品aaa| 日韩中文字幕区一区有砖一区| 亚洲中国最大av网站|