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

📄 hwdata.pc

📁 linux下c 编写的 某项目代理服务端部分的代码。其中包括网络通信
💻 PC
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <varargs.h>#include <unistd.h>#include <time.h>#include <sqlca.h># include "../include/shmmsg.h"#define USRNAME "scott"#define PASSWD "tiger"#define ORASID "omcr" #define SIZE 256 #define SIZE1 30int ReplaceChar(char *str,int len);main(int argc,char**argv){        char buf[SIZE];	int semid,len;        char flag[2];        char eg1[18],eg2[70],eg3[70],eg4[70],eg5[6];	char alarm_site_name[31];	char alarm_time[19],alarm_name_no[3];	char icity_no[4],vcity_no[3],sz[2];	char alarm_queue[10],tmp[16];	time_t start,finish;	double elapsed_time;         int tag=0;        int wcode=0;        int i=0;        char buff[100];        char buff1[15];        char vsite_no[4];        int vno;	        memset(buf,0x0,SIZE);        memset(buff,0x0,strlen(buff));        memset(buff1,0x0,strlen(buff1));	memset(alarm_site_name,0,31);	memset(alarm_time,0,19);	memset(alarm_name_no,0,2);        memset(vcity_no,0x0,sizeof(vcity_no));	memset(tmp,0,14);        memset(flag,0,sizeof(flag));         	memset(eg1,0,18);        	memset(eg2,0,70);        	memset(eg3,0,70);        	memset(eg4,0,70);        	memset(eg5,0,6); 	time(&start);         time(&finish);	if (comrcv(argv[1],buf)<0){		v_debug("rcv data fail");                s_debug("hwei buf=[%s]",buf);	}	else{  	        EXEC SQL CONNECT :USRNAME identified by :PASSWD USING :ORASID;		if (sqlca.sqlcode!=0){			s_debug("hwei sqlcode =[%d]",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;                                }                        }                        else{				s_debug("\n------------  hwdata.pc begin  ------------\n");				ReplaceChar(buf,strlen(buf));                		s_debug("\nbuf=%s",buf);				sscanf(buf,"%s%s%s%s%s%s",tmp,eg1,eg2,eg3,eg4,eg5);				trimstrcpy(alarm_site_name,eg5,strlen(eg5));				if (strncmp(eg5,"294",3)==0) 	            			strcpy(icity_no,"49");/* 12-10 add*/				else if (strncmp(eg5,"2",1)==0)        		   		strcpy(icity_no,"52");				trimstrcpy(vcity_no,icity_no,strlen(icity_no));	                		                                #ifdef TEST	                 		s_debug("\nicity_no=%s",icity_no);                      		s_debug("\nvcity_no=%s",vcity_no);                                #endif				trimstrcpy(alarm_name_no,eg4,strlen(eg4));				trimstrcpy(flag,eg3,strlen(eg3));				trimstrcpy(alarm_time,eg1,strlen(eg1));                                #ifdef TEST					s_debug("alarm_name_no=[%s]\n",alarm_name_no);				s_debug("flag=[%s]\n",flag);				s_debug("alarm_site_name=[%s]\n",alarm_site_name);				s_debug("alarm_time=[%s]\n", alarm_time);                                #endif				EXEC SQL EXECUTE				begin		   			/*hwei2(:alarm_site_name,'04',:vcity_no,:tag,:vno);*/                                     mtll2('04',:flag,:alarm_site_name,:alarm_name_no,:alarm_time,:vcity_no,:tag,:vno);				end;				end-exec;				if (sqlca.sqlcode==0){					EXEC SQL COMMIT;					trimstrcpy(alarm_queue,eg2,strlen(eg2));					s_debug("alarm_queu=[%s]\n", alarm_queue);                                        s_debug("\ndata tag=%d",tag);					if(tag>0 && tag<3)                                        {                        			if(tag==2)                             				strcpy(buff1,"09011101310011");                        			else                             				strcpy(buff1,"10011101310011");                         			sprintf(buff,"%s %s %s %d %s %s %s",buff1,flag,vcity_no,vno,alarm_time,\                                                alarm_name_no,alarm_site_name);                        			s_debug("\nbuff=%s",buff);                        			wcode=Getsndport_snd(buff,buff1);                        			if(wcode<0)                               				s_debug("\nwcode=%d",wcode); 					}                		}                 		else                		{                  			s_debug("\nhwei2 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("%s takes %6.2f seconds.\n\n",flag,elapsed_time);*/        s_debug("hwei Program takes %f seconds\n\n",elapsed_time);        s_debug("\n------------ hwdata.pc 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] == '\n') {           str[i] = ' ';	   i++;	   goto start;        }	if (str[i] == '=') {           str[i] = ' ';	   i++;	   goto start;        }	if (str[i] == ',') {           str[i] = ' ';	   i++;	   goto start;        }	i++;      }      return(0);   }

⌨️ 快捷键说明

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