Below you will find server/client pairs implemented in C, Java, and Python. The main difference between this and project 1 is that each server can host multiple client at the same time using the select system call. In each version, the server program takes no arguments, and the client program takes exactly one argument - either the host name of the server or the IP address of the server.
As you modify these program, make sure you first change the server port number to one of the port numbers you were assigned to help avoid collisions.
In all examples of compliation and running below, substitute the word "program" with the name of your source code file.
Compilation on Linux servers
gcc program.c -o program
Running on Linux servers
./program [any arguments]
Code for the C select server was adapted from code found here.
Compilation on Linux servers
javac program.java
Running on Linux servers
java program [any arguments]
Code for the java select server was adapted from code found here.
Running on Linux servers
python3 program.py [any arguments]
Code for the python select server was adapted from the python2 code found here.