📄 nokdata.pc
字号:
int length=MAXDATASIZE; int scode=0; char temp[216]; char buff[150]; struct Packet *H,*pket,*tmp; pket=opket; int pack_sequence=0; int i=0; int j=0; memset(temp,0,sizeof(temp)); memset(buff,0,sizeof(buff)); sphead=sphead->next; while(sphead) { i++; s_debug("\ni=%d",i); sprintf(buff,"%s %s %s %s %s %s %s %s %s %s %s","#",sphead->pack_buffs.b_consec_nbr,\ sphead->pack_buffs.b_int_id,sphead->pack_buffs.b_alarm_status,\ sphead->pack_buffs.b_alarm_time,sphead->pack_buffs.b_cancel_time,\ sphead->pack_buffs.b_alarm_number,sphead->pack_buffs.b_severity,sphead->pack_buffs.name,\ sphead->pack_buffs.tag,sphead->pack_buffs.site_no); s_debug("\nbuff=%s",buff); if(i==1) { strcpy(hed->data,buff); len=strlen(buff); leng=length-len; length=leng; } else{ len=strlen(buff); leng=length-len; length=leng; s_debug("\nleng=%d",leng); s_debug("\nlen=%d",len); if (leng>=0) strcat(hed->data,buff); else { char *ll=buff; strcpy(temp,ll+len+leng); s_debug("\ntemp=%s",temp); strncat(hed->data,buff,len+leng); #ifdef TEST s_debug("\nOne data=%s",hed->data); #endif hed->ctrmsg.morepkt=1; hed->ctrmsg.pktype=1; hed->ctrmsg.united=0; hed->ctrmsg.save=0; hed->ctrmsg.sequence=htons(pack_sequence+1); pack_sequence++; hed->ctrmsg.length=strlen(hed->data); hed->ctrmsg.msgtype=getpid(); strcpy(hed->header.code,"1011"); strcpy(hed->header.d_add,"11015"); strcpy(hed->header.s_add,"11015"); #ifdef TEST s_debug("\nhed->header.code=%s",hed->header.code); s_debug("\nhed->ctrmsg.pktype=%d",hed->ctrmsg.pktype); s_debug("\nhed->ctrmsg.united=%d",hed->ctrmsg.united); s_debug("\nhed->ctrmsg.save=%d",hed->ctrmsg.save); s_debug("\nhed->ctrmsg.sequence=%d",hed->ctrmsg.sequence); #endif H=(struct Packet *)malloc(sizeof(struct Packet)); H->next=NULL; pket->next=H; pket=H; memcpy(pket->data,hed,PKTSTRULEN); #ifdef TEST s_debug("\npket->data=%s",pket->data); #endif memset(hed,0,sizeof(struct pktstru)); strcpy(hed->data,temp); #ifdef TEST s_debug("\nhed->data=%s",hed->data); #endif length=MAXDATASIZE-strlen(temp); } } #ifdef TEST s_debug("\nhed->data=%s",hed->data); #endif sphead=sphead->next; if(sphead==NULL) { j++; s_debug("\nj=[%d]",j); hed->ctrmsg.morepkt=0; hed->ctrmsg.pktype=1; hed->ctrmsg.united=1; hed->ctrmsg.save=0; hed->ctrmsg.sequence=htons(pack_sequence+1); pack_sequence++; hed->ctrmsg.length=strlen(hed->data); hed->ctrmsg.msgtype=getpid(); strcpy(hed->header.code,"1011"); strcpy(hed->header.d_add,"11015"); strcpy(hed->header.s_add,"11015"); #ifdef TEST s_debug("\nhed->header.code=%s",hed->header.code); s_debug("\nhed->ctrmsg.morepkt=%d",hed->ctrmsg.morepkt); s_debug("\nhed->ctrmsg.pktype=%d",hed->ctrmsg.pktype); s_debug("\nhed->ctrmsg.united=%d",hed->ctrmsg.united); s_debug("\nhed->ctrmsg.save=%d",hed->ctrmsg.save); s_debug("\nhed->ctrmsg.sequence=%d",hed->ctrmsg.sequence); s_debug("\nOne data=%s",hed->data); #endif H=(struct Packet *)malloc(sizeof(struct Packet)); H->next=NULL; memset(H,0,sizeof(struct Packet)); pket->next=H; pket=H; memcpy(pket->data,hed,PKTSTRULEN); #ifdef TEST s_debug("\npket->data leng=[%d]",sizeof(pket->data)); /*s_debug("\npket->data=%s",pket->data);*/ #endif } } return 0;}void Makepkt_snd(struct Pack_buffs *sphead){ struct Packet *packet,*p,*Header; packet=(struct Packet *)malloc(sizeof(struct Packet)); packet->next=NULL; Header=packet; p=packet; struct pktstru *h,tempstruc; h=(struct pktstru *)malloc(sizeof(struct pktstru)); memset(h,0,sizeof(struct pktstru)); char jgbm[6]; char njgbm[6]; char buf[512]; unsigned short addno; unsigned int sndport; unsigned long ipadd; int j=0; int sock; int mcode=0; struct comshm * shmp; memset(jgbm,0x0,sizeof(jgbm)); memset(njgbm,0x0,sizeof(njgbm)); memset(buf,0x0,sizeof(buf)); mcode=MakePack(sphead,h,p); if(mcode!=0) v_debug("\nMakePack Wrong!"); shmp=GetShm(); addno=shmp->addno; strcpy(jgbm,h->header.d_add); #ifdef TEST s_debug("\njgbm=%s",jgbm); #endif for(j=0;j<=addno;j++) { strcpy(njgbm,shmp->addstrlist[j].jgbm); #ifdef TEST s_debug("\nnjgbm=%s",njgbm); #endif if(strcmp(jgbm,njgbm)==0) { sndport=shmp->addstrlist[j].sndport; ipadd=shmp->addstrlist[j].ipadd; #ifdef TEST s_debug("\nsndport=%d",sndport); s_debug("\nipadd=%ul",ipadd); #endif sock=connsockid(sndport,ipadd); if (sock<0) syslog("get sockid faill",__FILE__,__LINE__); else s_debug("\nsock succ !"); break; } memset(njgbm,0x0,strlen(njgbm)); } if(j>addno) v_debug("\nNo match jgbm!"); while(packet->next) { packet=packet->next; #ifdef TEST s_debug("\npacket->data=%s",packet->data); s_debug("\nsizeof(packetdata)=%d",strlen(packet->data)); #endif int rdlen; rdlen=writenet(sock,packet->data,PKTSTRULEN); if (rdlen<0){ syslog("snd data fail",__FILE__,__LINE__); close(sock); } else s_debug("\nwrit succ"); /* memset(buf,0x0,sizeof(buf)); */ }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -