feat(server): add argument parsing for server port

- Integrated `argparse` to parse command-line arguments for setting the server port.
- Default port set to `10001`.
This commit is contained in:
Kieran Kihn
2025-12-04 10:22:37 +08:00
parent 5f3a4083fd
commit 535e62c852
2 changed files with 28 additions and 3 deletions

View File

@@ -4,11 +4,32 @@
* @author Yuzhe Guo
* @date 2025.12.01
*/
#include <argparse/argparse.hpp>
#include "UnoServer.h"
int main()
int main(int argc, char *argv[])
{
UNO::SERVER::UnoServer uno_server;
uno_server.run();
argparse::ArgumentParser parser("Uno Server", "0.1.0");
parser.add_argument("-p", "--port").help("server port").default_value(static_cast<uint16_t>(10001)).scan<'i', uint16_t>();
try {
parser.parse_args(argc, argv);
}
catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
std::cerr << parser;
return 1;
}
try {
UNO::SERVER::UnoServer uno_server(parser.get<uint16_t>("--port"));
uno_server.run();
}
catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
return 1;
}
return 0;
}