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

📄 oradata.pc

📁 linux下c 编写的 某项目代理服务端部分的代码。其中包括网络通信
💻 PC
字号:
# include "../include/shmmsg.h"# include <stdio.h># include <sqlca.h># include <stdlib.h># define USRNAME "scott"# define PASSWD "tiger"# define ORASID "omcr" int ReplaceChar(char *buf,int len);main(int argc,char* argv[]){	int semid,len;        static char flag[2];        static char eg1[10],eg2[70],eg3[70],eg4[70],eg5[5];	char buf[256],tmp[15];        char alarm_level_no[1],alarm_sort_no[1];	char alarm_site_name[31];	char alarm_time[19],alarm_name_no[3];	char icity_no[4],sz[2];        char vcity_no[3]; 	time_t start, finish; 	double elapsed_time;                        int tag=0;        int wcode=0;        int i=0;        char buff[120];        char buff1[15];        char vsite_no[4];        int vno;	        memset(buf,0,256);        memset(buff,0,strlen(buff));        memset(buff1,0,strlen(buff1));	memset(alarm_site_name,0,31);	memset(alarm_time,0,19);	memset(vcity_no,0x0,sizeof(vcity_no)); 	time(&start);	if (comrcv(argv[1],buf)<0){		v_debug("rcv data fail\n");		s_debug("mtll buf=[%s]\n",buf);	}	else 	{                  	        EXEC SQL CONNECT :USRNAME identified by :PASSWD  USING :ORASID;		if (sqlca.sqlcode!=0)			s_debug("connect fall sqlcode =[%d]\n",sqlca.sqlcode);		else                {			s_debug("connect success=[%d]\n",sqlca.sqlcode);	        	len=strlen(buf);                	s_debug("\nGet message len=%d",len);	                if(len<30)        	        {                		s_debug("\nGet Back buf=%s",buf);                     		sscanf(buf,"%s%s%s",tmp,eg1,flag);				EXEC SQL EXECUTE		                begin		          		mtll2_back(:eg1,:flag);		     		end;				end-exec;                     		if (sqlca.sqlcode==0)                          		EXEC SQL COMMIT;                     		else                      		{                          		s_debug("\nmtll2_back sqlca.sqlcode=%d\n",sqlca.sqlcode);                                                                           		EXEC SQL ROLLBACK;                     		}                     		semid=opensem(SEMKEY1);				if (semid<0){		        		syslog("get semaphar err",__FILE__,__LINE__);		        		exit(-3);				}				sem_close(semid);    				time(&finish);    				elapsed_time = difftime(finish, start);    				s_debug("\n%s,%s takes %6.2f seconds.\n\n",eg1,flag,elapsed_time);                 	}                	else{		     		s_debug("\n------------  dhoradata.c begin  ------------\n");		     		ReplaceChar(buf,len);		     		sscanf(buf,"%s%s%s%s%s%s",tmp,eg1,eg2,eg3,eg4,eg5);		     		if (strcmp(eg1,"NEW")==0)			  		strcpy(flag,"1");		     			else if (strcmp(eg1,"NOT")==0)		  	  		strcpy(flag,"3");		     		else			  		strcpy(flag,"2");	             		if (strlen(eg5)==0){		  			strcpy(eg5,eg4);                        		memset(eg4,0,strlen(eg4));			  		strcpy(eg4,eg3);                          		memset(eg3,0,strlen(eg3));			 		strcpy(eg3,"jizhanname");                     		}		     		if (strlen(eg5)<2){		          		strcpy(sz,eg5);	         	  		strcpy(eg5,"0");			  		strcat(eg5,sz);	             		}		     		if (strncmp(eg2,"BSC",3)==0) 		          		strcpy(icity_no,"51");		                else if (strncmp(eg2,"ShuoZhou",8)==0) 		                	strcpy(icity_no,"49");		     		else if (strncmp(eg2,"XinZhou",7)==0) 		         		strcpy(icity_no,"50");		     		else if (strncmp(eg2,"DaTong",6)==0) 		        		strcpy(icity_no,"52");		     		else if (strncmp(eg2,"YangQuan",8)==0) 		          		strcpy(icity_no,"53");		     		else if(strncmp(eg2,"JinZhong",8)==0) 		        	  	strcpy(icity_no,"54");				    		trimstrcpy(alarm_site_name,eg3,strlen(eg3));                     		trimstrcpy(vcity_no,icity_no,strlen(icity_no));			    		trimstrcpy(alarm_name_no,eg5,strlen(eg5));		    		trimstrcpy(alarm_time,eg4,strlen(eg4));                     		#ifdef TEST                   		s_debug("\nicity_no=%s\n",icity_no);                     		s_debug("\tvcity_no=%s",vcity_no);                     		s_debug("\nalarm_name_no=%s",alarm_name_no);                     		s_debug("\nalarm_time=%s",alarm_time);                     		s_debug("\nalarm_site_name=%s",alarm_site_name);                     		s_debug("\nflag=%s",flag);                     		#endif		     		EXEC SQL EXECUTE		     		begin		        		mtll2('02',:flag,:alarm_site_name,:alarm_name_no,:alarm_time,:vcity_no,:tag,:vno);		     		end;		     		end-exec;                                       	s_debug("\ndata tag=%d",tag);                        	s_debug("\nalarm_site_name=%s",alarm_site_name);                                                     		if (sqlca.sqlcode==0)                     		{                        		EXEC SQL COMMIT;                          		if(tag<3 && tag>0)                          		{	       	             			if(tag==2)                                			strcpy(buff1,"05011101210011");                             			else                                 			strcpy(buff1,"06011101210011");                                            			#ifdef TEST                          			s_debug("\nvno=%d",vno);                          			s_debug("\nalarm_site_name=%s",alarm_site_name);                          			#endif                           			sprintf(buff,"%s %s %s %d %s %s %s",buff1,flag,vcity_no,\                                                        vno,eg4,eg5,alarm_site_name);                                			#ifdef TEST                          			s_debug("\nbuff=%s",buff);                          			#endif                                           			wcode=Getsndport_snd(buff,buff1);                          			if(wcode<0)                               				s_debug("\nwcode=%d",wcode);		         		 	/*s_debug("\nafter Getsndport_snd buff=[%s],buff1=[%s]",buff,buff1);*/                          		}                    		}	                     		else                      		{                        		s_debug("\nmtll2 sqlca.sqlcode=%d\n",sqlca.sqlcode);                                                                                EXEC SQL ROLLBACK;                     		}                             		semid=opensem(SEMKEY1);				if (semid<0){		        		syslog("get semaphar err",__FILE__,__LINE__);		        		exit(-3);				}				sem_close(semid);    				time(&finish);    				elapsed_time = difftime(finish, start);    				s_debug("\n%s,%s takes %6.2f seconds.\n\n",alarm_site_name,alarm_name_no,elapsed_time);	        		s_debug("\n------------  dhoradata.c end  ------------\n");				exit(0);                	}          	}        }}  int ReplaceChar(char *str,int len)  {     int i = 0;      while (i < len) {      start: if (str[i] == '|') {           str[i] = ' ';	   i++;	   goto start;        }	if (str[i] == '(') {           str[i] = ' ';	   i++;	   goto start;        }	if (str[i] == '\n') {           str[i] = ' ';	   i++;	   goto start;        }	if (str[i] == '.') {           str[i] = ' ';	   i++;	   goto start;        }	if (str[i] == ')'&&str[i+1]==':'){           str[i] = ' ';	   str[i+1]=' ';	   i++;	   goto start;        }	if (str[i] == ')') {           str[i] = ' ';	   i++;	   goto start;        }	i++;      }      return(0);   }

⌨️ 快捷键说明

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