Project 3 Starter Code

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.


TCP select server/client in C

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.


TCP select server/client in Java

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.


TCP select server/client in Python 3

Running on Linux servers

python3 program.py [any arguments]

Code for the python select server was adapted from the python2 code found here.