|
|
@@ -26,40 +26,27 @@ static int mtu = 1350;
|
|
|
static int sndwnd = 1024;
|
|
|
static int rcvwnd = 1024;
|
|
|
|
|
|
-// short options
|
|
|
-static const char options[] = "hvdl:t:m:";
|
|
|
// long options
|
|
|
static const option_t long_options[] = {
|
|
|
- {'h', "help", NO_ARGUMENT},
|
|
|
- {'v', "version", NO_ARGUMENT},
|
|
|
- {'d', "daemon", NO_ARGUMENT},
|
|
|
- {'l', "listen", REQUIRED_ARGUMENT},
|
|
|
- {'t', "target", REQUIRED_ARGUMENT},
|
|
|
- {'m', "mode", REQUIRED_ARGUMENT},
|
|
|
- { 0, "mtu", REQUIRED_ARGUMENT},
|
|
|
- { 0, "sndwnd", REQUIRED_ARGUMENT},
|
|
|
- { 0, "rcvwnd", REQUIRED_ARGUMENT},
|
|
|
+ {'h', "help", NO_ARGUMENT, "Print this information"},
|
|
|
+ {'v', "version", NO_ARGUMENT, "Print version"},
|
|
|
+ {'d', "daemon", NO_ARGUMENT, "Daemonize"},
|
|
|
+ {'l', "listen", REQUIRED_ARGUMENT, "kcp server listen address (default: \":4000\")"},
|
|
|
+ {'t', "target", REQUIRED_ARGUMENT, "target server address (default: \"127.0.0.1:8080\")"},
|
|
|
+ {'m', "mode", REQUIRED_ARGUMENT, "profiles: fast3, fast2, fast, normal, (default: \"fast\")"},
|
|
|
+ { 0, "mtu", REQUIRED_ARGUMENT, "set maxinum transmission unit for UDP packets (default: 1350)"},
|
|
|
+ { 0, "sndwnd", REQUIRED_ARGUMENT, "set send window size(num of packets) (default: 1024)"},
|
|
|
+ { 0, "rcvwnd", REQUIRED_ARGUMENT, "set receive window size(num of packets) (default: 1024)"},
|
|
|
};
|
|
|
|
|
|
-static const char detail_options[] = R"(
|
|
|
- -h|--help Print this information
|
|
|
- -v|--version Print version
|
|
|
- -d|--daemon Daemonize
|
|
|
- -l|--listen value kcp server listen address (default: ":4000")
|
|
|
- -t|--target value target server address (default: "127.0.0.1:8080")
|
|
|
- -m|--mode value profiles: fast3, fast2, fast, normal (default: "fast")
|
|
|
- --mtu value set maximum transmission unit for UDP packets (default: 1350)
|
|
|
- --sndwnd value set send window size(num of packets) (default: 1024)
|
|
|
- --rcvwnd value set receive window size(num of packets) (default: 1024)
|
|
|
-)";
|
|
|
-
|
|
|
static void print_version() {
|
|
|
printf("%s version %s\n", g_main_ctx.program_name, hv_compile_version());
|
|
|
}
|
|
|
|
|
|
static void print_help() {
|
|
|
- printf("Usage: %s [%s]\n", g_main_ctx.program_name, options);
|
|
|
- printf("Options:\n%s\n", detail_options);
|
|
|
+ char detail_options[1024] = {0};
|
|
|
+ dump_opt_long(long_options, ARRAY_SIZE(long_options), detail_options, sizeof(detail_options));
|
|
|
+ printf("%s\n", detail_options);
|
|
|
}
|
|
|
|
|
|
static kcp_setting_t s_kcp_setting;
|
|
|
@@ -237,7 +224,6 @@ int main(int argc, char** argv) {
|
|
|
|
|
|
// g_main_ctx
|
|
|
main_ctx_init(argc, argv);
|
|
|
- //int ret = parse_opt(argc, argv, options);
|
|
|
int ret = parse_opt_long(argc, argv, long_options, ARRAY_SIZE(long_options));
|
|
|
if (ret != 0) {
|
|
|
print_help();
|