We have developed a DNS Server that we need to test for robustness and load balance on an embedded hardware device. We want to run an application on 10-15 workstations and beat up the embedded device to see what kind of load it can handle.
I need a WIN32 C++ console application (NOT MFC) to load test a DNS server. It MUST not use "gethostbyname()" or anyother WINSOCK functions. It must connect to port 53 on the target system and test DNS directly (A and CNAME RECORDS - MX would be nice as well). The program must open multiple threads (passed on command line) and all attach to the server at the same time.
In addition it must read from a text file (passed on command line) for domains to look up. Each line in the file is a domain name terminated by by \r\n. The application must look them up as fast as it can and report the total time to reach X iterations (also command line util).
Command line options:
FILENAME (Domains to look up)
ITERATIONS (How many domains to look up) (if you run out start over again at the start of the file)
DELAY (How much delay between lookups 0 is acceptable)
MAXTHREADS (Number of threads to start at once)
When the program finishes it cycle it should report the time of the lookups. A MIN time (fastest), MAX time (longest), MEAN time (average).
Any other questions feel free to ask.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) CONSOLE application is fine, no setup program required. NO MFC work, and no GetHostByName(), must not use winsock name lookups!
Win32 C++ Console App
NO MFC ACCEPTED