The *.c files contain an example that shows how to establish a datagram based communication in Internet domain. The programs are contained in example ex2a.c and ex2b.c. Before you execute the two programs, you need to compile them at the machine where you plan to execute them. Let us assume that these machines are local and remote. At local, issue the command: cc -o ex2a ex2a.c OR gcc -o ex2a ex2a.c -lsocket This will produce an executable code, ex2a. At remote, issue the commande: cc -o ex2b ex2b.c OR gcc -o ex2b ex2b.c -lsocket -lnsl This will produce an executable code, ex2b. To execute the program : At the local machine type ex2a and get the port number. At the remote machine type ex2b with host address and port number. local> ex2a socket has port 1664 remote> ex2b local.cis.pitt.edu 1664 ----- where local is the name of the local machine where you executed ----- ex2a. I am assuming that machine resides in the cis domain. Otherwise the name of the machine has to been changed (i.e, zeus.cs.pitt.edu, for example if I am running these programs in the cs domain.) To test time out, execute ex2a at the local site without executing ex2b at the remote site. ex2a should timeout after TIMER. You can change the values of TIMER for a shorter or longer timeouts.