acl/app/wizard_demo/dns-gate/service/main.cpp
shuxin   zheng 2669546783 optimize dns-gate
2022-05-29 17:41:21 +08:00

69 lines
1.7 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "stdafx.h"
#include "master_service.h"
int main(int argc, char* argv[])
{
// 初始化 acl 库
acl::acl_cpp_init();
master_service& ms = acl::singleton2<master_service>::get_instance();
// 设置配置参数表
ms.set_cfg_int(var_conf_int_tab);
ms.set_cfg_int64(var_conf_int64_tab);
ms.set_cfg_str(var_conf_str_tab);
ms.set_cfg_bool(var_conf_bool_tab);
// 开始运行
if (argc == 1 || (argc >= 2 && strcmp(argv[1], "alone") == 0)) {
// 日志输出至标准输出
acl::log::stdout_open(true);
// 监听的地址列表格式ip|port1,ip|port2,...
const char* addrs = "|53";
printf("bind on: %s\r\n", addrs);
// 测试时设置该值 > 0 则指定服务器处理客户端连接过程的
// 会话总数(一个连接从接收到关闭称之为一个会话),当
// 处理的连接会话数超过此值,测试过程结束;如果该值设
// 为 0则测试过程永远不结束
unsigned int count = 0;
// 单独运行方式
if (argc >= 3) {
ms.run_alone(addrs, argv[2], count);
} else {
ms.run_alone(addrs, NULL, count);
}
printf("Enter any key to exit now\r\n");
getchar();
} else {
#if defined(_WIN32) || defined(_WIN64)
// 日志输出至标准输出
acl::log::stdout_open(true);
// 监听的地址列表格式ip:port1,ip:port2,...
const char* addrs = "127.0.0.1:8888";
printf("bind on: %s\r\n", addrs);
// 测试时设置该值 > 0 则指定服务器处理客户端连接过程的
// 会话总数(一个连接从接收到关闭称之为一个会话),当
// 处理的连接会话数超过此值,测试过程结束;如果该值设
// 为 0则测试过程永远不结束
unsigned int count = 0;
// 单独运行方式
ms.run_alone(addrs, NULL, count);
printf("Enter any key to exit now\r\n");
getchar();
#else
// acl_master 控制模式运行
ms.run_daemon(argc, argv);
#endif
}
return 0;
}