📄 transform.c
字号:
(*(DataMsgContent*)(msg->content)).length=*(int *)point;
point=point+4;
strcpy((*(DataMsgContent*)(msg->content)).data,point);
}
Message* byteToStruct(Buffer *buffer)
{
int i;
char *point;
Message *msg;
msg=(Message*)malloc(sizeof(Message));
point=buffer->bytes;
msg->type=*(int *)point;
point=point+4;
msg->serial=*(int *)point;
point=point+4;
for(i=0;point[i]!='\0';i++)
msg->src[i]=point[i];
msg->src[i]='\0';
point=point+32;
for(i=0;point[i]!='\0';i++)
msg->srcIp[i]=point[i];
msg->srcIp[i]='\0';
point=point+32;
msg->srcPort=*(int *)point;
point=point+4;
for(i=0;point[i]!='\0';i++)
msg->des[i]=point[i];
msg->des[i]='\0';
point=point+32;
msg->priority=*(int *)point;
point=point+4;
msg->length=*(int *)point;
point=point+4;
switch(msg->type)
{
case 1 :
case 6 :
case 7 :
case 12 :
case 17 :
case 15 :
byteTostr1(msg,point);
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%d,%d,%d,%d,%s,%d,%s,%d,%d,%d,%s\n",msg->type,msg->serial,msg->src,msg->srcIp,msg->srcPort,msg->des,msg->priority,msg->length,(*(DataMsgContent*)(msg->content)).type,(*(DataMsgContent*)(msg->content)).sendRange,(*(DataMsgContent*)(msg->content)).syn,(*(DataMsgContent*)(msg->content)).compulsory,(*(DataMsgContent*)(msg->content)).state,(*(DataMsgContent*)(msg->content)).src,(*(DataMsgContent*)(msg->content)).srcApp,(*(DataMsgContent*)(msg->content)).des,(*(DataMsgContent*)(msg->content)).desApp,(*(DataMsgContent*)(msg->content)).priority,(*(DataMsgContent*)(msg->content)).length,(*(DataMsgContent*)(msg->content)).data);
break;
case 11 :
byteTostr2(msg,point);
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%s\n",msg->type,msg->serial,msg->src,msg->srcIp,msg->srcPort,msg->des,msg->priority,msg->length,(*(DmtRegRequest*)(msg->content)).index,(*(DmtRegRequest*)(msg->content)).dmt);
break;
case 10 :
byteTostr3(msg,point);
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%s\n",msg->type,msg->serial,msg->src,msg->srcIp,msg->srcPort,msg->des,msg->priority,msg->length,(*(MapRequestContent*)(msg->content)).target);
break;
case 4 :
byteTostr4(msg,point);
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%d,%s,%d,%s\n",msg->type,msg->serial,msg->src,msg->srcIp,msg->srcPort,msg->des,msg->priority,msg->length,(*(MapRespondContent*)(msg->content)).result,(*(MapRespondContent*)(msg->content)).state0,(*(MapRespondContent*)(msg->content)).ip0,(*(MapRespondContent*)(msg->content)).state1,(*(MapRespondContent*)(msg->content)).ip1);
break;
case 9 :
case 16 :
byteTostr5(msg,point);
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%s,%d,%s,%d\n",msg->type,msg->serial,msg->src,msg->srcIp,msg->srcPort,msg->des,msg->priority,msg->length,(*(AppRegContent*)(msg->content)).appName,(*(AppRegContent*)(msg->content)).appId,(*(AppRegContent*)(msg->content)).Group,(*(AppRegContent*)(msg->content)).port);
break;
case 3 :
case 5 :
case 13 :
case 14 :
byteTostr6(msg,point);
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%s\n",msg->type,msg->serial,msg->src,msg->srcIp,msg->srcPort,msg->des,msg->priority,msg->length,(*(CommonRespondContent*)(msg->content)).result,(*(CommonRespondContent*)(msg->content)).description);
break;
case 2 :
case 8 :
byteTostr7(msg,point);
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%d\n",msg->type,msg->serial,msg->src,msg->srcIp,msg->srcPort,msg->des,msg->priority,msg->length,(*(MonitorContent*)(msg->content)).count,(*(MonitorContent*)(msg->content)).state);
break;
}
// printf("\n%d,%d,%s,%s,%d,%d,%d,%d,%s",msg->type,msg->serial,msg->src,msg->des,msg->priority,msg->length,(*(DataMsgContent*)(msg->content)).type,(*(DataMsgContent*)(msg->content)).sendRange,(*(DataMsgContent*)(msg->content)).data);
return msg;
}
void str7ToByte(Message *message,char *point)
{
(*(int*)point)=(*(MonitorContent*)(message->content)).count;
point=point+4;
(*(int*)point)=(*(MonitorContent*)(message->content)).state;
point=point+4;
}
void str6ToByte(Message *message,char *point)
{
int i;
(*(int*)point)=(*(CommonRespondContent*)(message->content)).result;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=(*(CommonRespondContent*)(message->content)).description[i];
point=point+1;
}
// (*point)='\0';
}
void str5ToByte(Message *message,char *point)
{
int i;
for(i=0;i<32;i++)
{
(*point)=(*(AppRegContent*)(message->content)).appName[i];
point=point+1;
}
(*(int*)point)=(*(AppRegContent*)(message->content)).appId;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=(*(AppRegContent*)(message->content)).Group[i];
point=point+1;
}
(*(int*)point)=(*(AppRegContent*)(message->content)).port;
point=point+4;
}
void str4ToByte(Message *message,char *point)
{
int i;
(*(int*)point)=(*(MapRespondContent*)(message->content)).result;
point=point+4;
(*(int*)point)=(*(MapRespondContent*)(message->content)).state0;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=(*(MapRespondContent*)(message->content)).ip0[i];
point=point+1;
}
(*(int*)point)=(*(MapRespondContent*)(message->content)).state1;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=(*(MapRespondContent*)(message->content)).ip1[i];
point=point+1;
}
}
void str3ToByte(Message *message,char *point)
{
int i;
for(i=0;i<32;i++)
{
(*point)=(*(MapRequestContent*)(message->content)).target[i];
point=point+1;
}
}
void str2ToByte(Message *message,char *point)
{
int i;
*(int *)point=(*(DmtRegRequest*)(message->content)).index;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=(*(DmtRegRequest*)(message->content)).dmt[i];
point=point+1;
}
}
void str1ToByte(Message *message,char *point)
{
int i;
(*(int*)point)=(*(DataMsgContent*)(message->content)).type;
point=point+4;
(*(int*)point)=(*(DataMsgContent*)(message->content)).sendRange;
point=point+4;
(*(int*)point)=(*(DataMsgContent*)(message->content)).syn;
point=point+4;
(*(int*)point)=(*(DataMsgContent*)(message->content)).compulsory;
point=point+4;
(*(int*)point)=(*(DataMsgContent*)(message->content)).state;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=(*(DataMsgContent*)(message->content)).src[i];
point=point+1;
}
(*(int*)point)=(*(DataMsgContent*)(message->content)).srcApp;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=(*(DataMsgContent*)(message->content)).des[i];
point=point+1;
}
(*(int*)point)=(*(DataMsgContent*)(message->content)).desApp;
point=point+4;
(*(int*)point)=(*(DataMsgContent*)(message->content)).priority;
point=point+4;
(*(int*)point)=(*(DataMsgContent*)(message->content)).length;
point=point+4;
printf(":::::::::::::contnet length:%d::::::::\n\n",(*(DataMsgContent*)(message->content)).length);
for(i=0;i<(*(DataMsgContent*)(message->content)).length;i++)
{
(*point)=(*(DataMsgContent*)(message->content)).data[i];
point=point+1;
}
(*point)='\0';
}
void strToByte(Message *message,Buffer *buffer)
{
char *byte=buffer->bytes;
char *point=buffer->bytes;
int i=0;
(*(int*)point)=message->type;
point=point+4;
(*(int*)point)=message->serial;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=message->src[i];
point=point+1;
}
for(i=0;i<32;i++)
{
(*point)=message->srcIp[i];
point=point+1;
}
(*(int*)point)=message->srcPort;
point=point+4;
for(i=0;i<32;i++)
{
(*point)=message->des[i];
point=point+1;
}
(*(int*)point)=message->priority;
point=point+4;
(*(int*)point)=message->length;
point=point+4;
switch(message->type)
{
case 11 :
str2ToByte(message,point);
buffer->length=152;
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%s\n",*(int*)byte,*(int*)(byte+4),byte+8,byte+40,*(int*)(byte+72),byte+76,*(int*)(byte+108),*(int*)(byte+112),*(int *)(byte+116),byte+120);
break;
case 1 :
case 6 :
case 7 :
case 12 :
case 15 :
case 17 :
str1ToByte(message,point);
buffer->length=216+(*(DataMsgContent*)(message->content)).length;
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%d,%d,%d,%d,%s,%d,%s,%d,%d,%d,%s\n",*(int*)byte,*(int*)(byte+4),byte+8,byte+40,*(int*)(byte+72),byte+76,*(int*)(byte+108),*(int*)(byte+112),*(int*)(byte+116),*(int*)(byte+120),*(int*)(byte+124),*(int*)(byte+128),*(int*)(byte+132),byte+136,*(int*)(byte+168),byte+172,*(int*)(byte+204),*(int*)(byte+208),*(int*)(byte+212),byte+216);
break;
case 10 :
str3ToByte(message,point);
buffer->length=148;
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%s\n",*(int*)byte,*(int*)(byte+4),byte+8,byte+40,*(int*)(byte+72),byte+76,*(int*)(byte+108),*(int*)(byte+112),byte+116);
break;
case 4 :
str4ToByte(message,point);
buffer->length=192;
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%d,%s,%d,%s\n",*(int*)byte,*(int*)(byte+4),byte+8,byte+40,*(int*)(byte+72),byte+76,*(int*)(byte+108),*(int*)(byte+112),*(int*)(byte+116),*(int*)(byte+120),(byte+124),*(int*)(byte+156),(byte+160));
break;
case 9 :
case 16 :
str5ToByte(message,point);
buffer->length=188;
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%s,%d,%s,%d\n",*(int*)byte,*(int*)(byte+4),byte+8,byte+40,*(int*)(byte+72),byte+76,*(int*)(byte+108),*(int*)(byte+112),(byte+116),*(int*)(byte+148),(byte+152),*(int*)(byte+184));
break;
case 3 :
case 5 :
case 13 :
case 14 :
str6ToByte(message,point);
buffer->length=152;
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%s\n",*(int*)byte,*(int*)(byte+4),byte+8,byte+40,*(int*)(byte+72),byte+76,*(int*)(byte+108),*(int*)(byte+112),*(int*)(byte+116),byte+120);
break;
case 2 :
case 8 :
str7ToByte(message,point);
buffer->length=124;
//printf("%d,%d,%s,%s,%d,%s,%d,%d,%d,%d\n",*(int*)byte,*(int*)(byte+4),byte+8,byte+40,*(int*)(byte+72),byte+76,*(int*)(byte+108),*(int*)(byte+112),*(int*)(byte+116),*(int*)(byte+120));
break;
}
}
Buffer * createBuffer()
{
Buffer * buffer;
char *byte;
buffer=(Buffer*)malloc(sizeof(Buffer));
byte=(char *)malloc(sizeof(char)*1000);
buffer->bytes=byte;
buffer->length = 0;
return buffer;
}
void destroyBuffer(Buffer * buffer)
{
free(buffer->bytes);
free(buffer);
}
CI * createCI(int a)
{
CI * myci = (struct CI *)malloc(sizeof(struct CI));
myci->listenPort = a;
myci->sendBuffer = ( LinkedList *)malloc(sizeof(LinkedList));
myci->receiveBuffer =( LinkedList *)malloc(sizeof( LinkedList));
myci->sendBuffer->head = NULL;
myci->receiveBuffer->head =NULL;
myci->sendBuffer->length = 0;
myci->sendBuffer->destroyElement = NULL;
return myci;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -