1
2////////////////////////////////////////////////////////////
3// Headers
4////////////////////////////////////////////////////////////
5#include <iomanip>
6#include <iostream>
7#include <cstdlib>
8
9
10////////////////////////////////////////////////////////////
11// Function prototypes
12// (I'm too lazy to put them into separate headers...)
13////////////////////////////////////////////////////////////
14void doClient(unsigned short port);
15void doServer(unsigned short port);
16
17
18////////////////////////////////////////////////////////////
19/// Entry point of application
20///
21/// \return Application exit code
22///
23////////////////////////////////////////////////////////////
24int main()
25{
26 // Choose a random port for opening sockets (ports < 1024 are reserved)
27 const unsigned short port = 2435;
28
29 // Client or server ?
30 char who;
31 std::cout << "Do you want to be a server ('s') or a client ('c')? ";
32 std::cin >> who;
33
34 if (who == 's')
35 {
36 // Run as a server
37 doServer(port);
38 }
39 else
40 {
41 // Run as a client
42 doClient(port);
43 }
44
45 // Wait until the user presses 'enter' key
46 std::cout << "Press enter to exit..." << std::endl;
47 std::cin.ignore(10000, '\n');
48
49 return EXIT_SUCCESS;
50}
51