]> git.stg.codes - stg.git/blob - stglibs/pinger.lib/test.cpp
В функторе для рассылки данных об авторизованных пользователях по
[stg.git] / stglibs / pinger.lib / test.cpp
1 #include <stdio.h>
2 #include <vector>
3 #include <string>
4 #include <sys/socket.h>
5 #include <netinet/in.h>
6 #include <arpa/inet.h>
7 #include <unistd.h>
8 #include <stdlib.h>
9
10 #include "pinger.h"
11
12 using namespace std;
13
14 in_addr_t addr;
15
16 //-----------------------------------------------------------------------------
17 void AddRemoveTest(STG_PINGER & pinger)
18 {
19 addr = inet_addr("192.168.1.2");
20 pinger.AddIP(*(uint32_t*)&addr);
21
22 addr = inet_addr("192.168.1.2");
23 pinger.AddIP(*(uint32_t*)&addr);
24
25 sleep(2);
26 pinger.PrintAllIP();
27 printf("tree size=%d\n", pinger.GetPingIPNum());
28 sleep(5);
29 pinger.PrintAllIP();
30
31 addr = inet_addr("192.168.1.2");
32 pinger.DelIP(*(uint32_t*)&addr);
33 printf("DelIP\n");
34 sleep(10);
35 //pinger.PrintAllIP();
36 printf("tree size=%d\n", pinger.GetPingIPNum());
37 sleep(3);
38 pinger.PrintAllIP();
39 printf("tree size=%d\n", pinger.GetPingIPNum());
40 /*addr = inet_addr("192.168.1.2");
41 pinger.DelIP(*(uint32_t*)&addr);
42
43 addr = inet_addr("192.168.1.1");
44 pinger.DelIP(*(uint32_t*)&addr);
45
46 sleep(2);
47
48 pinger.PrintAllIP();
49
50 printf("tree size=%d\n", pinger.GetPingIPNum());
51 sleep(5);
52
53 addr = inet_addr("192.168.1.4");
54 time_t t;
55 if (pinger.GetIPTime(*(uint32_t*)&addr, &t) == 0)
56     {
57     printf("192.168.1.4 t=%lu\n", t);
58     }
59 else
60     {
61     printf("192.168.1.4 not found\n");
62     }
63
64
65 addr = inet_addr("192.168.1.5");
66 if (pinger.GetIPTime(*(uint32_t*)&addr, &t) == 0)
67     {
68     printf("192.168.1.5 t=%lu\n", t);
69     }
70 else
71     {
72     printf("192.168.1.5 not found\n");
73     }
74
75
76 pinger.PrintAllIP();
77 addr = inet_addr("192.168.1.3");
78 if (pinger.GetIPTime(*(uint32_t*)&addr, &t))
79     {
80     printf("IP not present\n");
81     }
82 else
83     {
84     printf("Ping time:\n");
85     }*/
86
87 }
88 //-----------------------------------------------------------------------------
89 void StressTest(STG_PINGER & pinger)
90 {
91
92 for (int i = 1; i <= 200; i++)
93     {
94     char s[15];
95     sprintf(s, "192.168.1.%d", i);
96     addr = inet_addr(s);
97     pinger.AddIP(*(uint32_t*)&addr);
98     }
99
100 sleep(5);
101 pinger.PrintAllIP();
102 printf("tree size=%d\n", pinger.GetPingIPNum());
103
104 for (int i = 1; i <= 200; i++)
105     {
106     char s[15];
107     sprintf(s, "192.168.1.%d", i);
108     addr = inet_addr(s);
109     pinger.DelIP(*(uint32_t*)&addr);
110     }
111
112 /*addr = inet_addr("192.168.1.2");
113 pinger.AddIP(*(uint32_t*)&addr);
114
115 addr = inet_addr("192.168.1.3");
116 pinger.AddIP(*(uint32_t*)&addr);*/
117
118 sleep(3);
119 pinger.PrintAllIP();
120 printf("tree size=%d\n", pinger.GetPingIPNum());
121 sleep(1);
122 }
123 //-----------------------------------------------------------------------------
124 int main()
125 {
126 vector<PING_IP_TIME> pingIP;
127
128 STG_PINGER pinger(2);
129
130 if (pinger.Start())
131     {
132     printf("%s\n", pinger.GetStrError().c_str());
133     }
134
135
136 //AddRemoveTest(pinger);
137 StressTest(pinger);
138
139 pinger.Stop();
140
141 return 0;
142 }
143 //-----------------------------------------------------------------------------
144
145