Add command parsing for NetworkTest
This commit is contained in:
parent
e320a6343e
commit
d159bd84b7
1 changed files with 53 additions and 1 deletions
|
@ -1,2 +1,54 @@
|
||||||
int main() {
|
#include <cstring>
|
||||||
|
#include <string>
|
||||||
|
#include <cstdio>
|
||||||
|
|
||||||
|
#include <UDPConnection.h>
|
||||||
|
|
||||||
|
void usage() {
|
||||||
|
puts("[-c | -s] - client or server (default server)");
|
||||||
|
puts("-ll <addr> - listen addr");
|
||||||
|
puts("-lp <port> - listen port");
|
||||||
|
puts("-cl <addr> - connection addr (client only)");
|
||||||
|
puts("-cp <port> - connection port (client only)");
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
--argc; ++argv;
|
||||||
|
if(argc == 0) {
|
||||||
|
usage();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool isClient = false;
|
||||||
|
const char *listenAddr = nullptr;
|
||||||
|
const char *listenPort = nullptr;
|
||||||
|
const char *connectionAddr = nullptr;
|
||||||
|
const char *connectionPort = nullptr;
|
||||||
|
while(argc > 0) {
|
||||||
|
if(std::strcmp(argv[0], "-c") == 0) {
|
||||||
|
isClient = true;
|
||||||
|
} else if(std::strcmp(argv[0], "-s") == 0) {
|
||||||
|
isClient = false;
|
||||||
|
} else if(std::strcmp(argv[0], "-ll") == 0 && argc > 1) {
|
||||||
|
--argc; ++argv;
|
||||||
|
listenAddr = argv[0];
|
||||||
|
} else if(std::strcmp(argv[0], "-lp") == 0 && argc > 1) {
|
||||||
|
--argc; ++argv;
|
||||||
|
listenPort = argv[0];
|
||||||
|
} else if(std::strcmp(argv[0], "-cl") == 0 && argc > 1) {
|
||||||
|
--argc; ++argv;
|
||||||
|
connectionAddr = argv[0];
|
||||||
|
} else if(std::strcmp(argv[0], "-cp") == 0 && argc > 1) {
|
||||||
|
--argc; ++argv;
|
||||||
|
connectionPort = argv[0];
|
||||||
|
} else {
|
||||||
|
printf("ERROR: invalid argument \"%s\"\n", argv[0]);
|
||||||
|
usage();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
--argc; ++argv;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue