forked from mengning/nezha
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestprotocol.c
71 lines (64 loc) · 2.37 KB
/
testprotocol.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/********************************************************************/
/* Copyright (C) SSE-USTC, 2012 */
/* */
/* FILE NAME : testprotocol.c */
/* PRINCIPAL AUTHOR : Mengning */
/* SUBSYSTEM NAME : network */
/* MODULE NAME : protocol */
/* LANGUAGE : C */
/* TARGET ENVIRONMENT : Linux */
/* DATE OF FIRST RELEASE : 2012/12/18 */
/* DESCRIPTION : Protocol between Nezha Sever and Client*/
/********************************************************************/
/*
* Revision log:
*
* Created by Mengning,2012/12/18
*
*/
#include "protocol.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BUF_LEN 1024
int main()
{
char Buf[MAX_BUF_LEN] = "\0";
int BufSize = MAX_BUF_LEN;
char *str = "hello world!";
BufSize = MAX_BUF_LEN;
FormatData(Buf,&BufSize,CLOSE_CMD);
int cmd = -1;
int DataNum = -1;
char Data1[MAX_BUF_LEN] = "\0";
int Data1Size = MAX_BUF_LEN;
char Data2[MAX_BUF_LEN] = "\0";
int Data2Size = MAX_BUF_LEN;
ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
if(cmd == CLOSE_CMD && DataNum == 0)
{
printf("Test Zero Data Result: Pass\n");
}
BufSize = MAX_BUF_LEN;
FormatData1(Buf,&BufSize,OPEN_CMD,str,strlen(str));
ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
if(cmd == OPEN_CMD && DataNum == 1
&& Data1Size == strlen(str)
&& strcmp(Data1,str) == 0)
{
printf("%s\n",Data1);
printf("Test One Data Result: Pass\n");
}
BufSize = MAX_BUF_LEN;
FormatData2(Buf,&BufSize,SET_CMD,str,strlen(str),str,strlen(str));
ParseData(Buf,MAX_BUF_LEN,&cmd,&DataNum,Data1,&Data1Size,Data2,&Data2Size);
if(cmd == SET_CMD && DataNum == 2
&& Data1Size == strlen(str) && Data2Size == strlen(str)
&& strcmp(Data1,str) == 0 && strcmp(Data2,str) == 0)
{
printf("%s\n",Data1);
printf("%s\n",Data2);
printf("Test Two Data Result: Pass\n");
}
return 0;
}