| 210 | } |
| 211 | |
| 212 | int main(int argc, char* argv[]) |
| 213 | { |
| 214 | int ch, cocurrent = 10; |
| 215 | string addrs("www.sina.com.cn:80;www.263.net:80;www.qq.com:81"); |
| 216 | |
| 217 | // ��ʼ�� acl �� |
| 218 | acl::acl_cpp_init(); |
| 219 | |
| 220 | // ��־���������� |
| 221 | acl::log::stdout_open(true); |
| 222 | |
| 223 | while ((ch = getopt(argc, argv, "hs:Dn:c:z")) > 0) { |
| 224 | switch (ch) { |
| 225 | case 'h': |
| 226 | usage(argv[0]); |
| 227 | return 0; |
| 228 | case 's': |
| 229 | addrs = optarg; |
| 230 | break; |
| 231 | case 'c': |
| 232 | cocurrent = atoi(optarg); |
| 233 | break; |
| 234 | case 'D': |
| 235 | __debug = true; |
| 236 | break; |
| 237 | case 'n': |
| 238 | __loop_count = atoi(optarg); |
| 239 | break; |
| 240 | case 'z': |
| 241 | __unzip = true; |
| 242 | break; |
| 243 | default: |
| 244 | usage(argv[0]); |
| 245 | return 0; |
| 246 | } |
| 247 | } |
| 248 | |
| 249 | init(addrs, cocurrent); |
| 250 | run(cocurrent); |
| 251 | end(); |
| 252 | |
| 253 | #ifdef WIN32 |
| 254 | printf("enter any key to exit...\r\n"); |
| 255 | getchar(); |
| 256 | #endif |
| 257 | |
| 258 | return 0; |
| 259 | } |