you only need to design and implement the SWAP functions swap_read() and swap_write(). All the other SWAP functions are provided for you in the source files swap_client.c and swap_server.c. SDP is already completely implemented in sdp.c, and a checksum function is provided in checksum.c.
The source modules supplied for Part 3 of the project will compile and run, but the program functionality is incomplete. To complete these programs, you should implement the following requirements:
Complete the function swap_write() found in the file swap_client.c.
Complete the function swap_read() found in the file swap_server.c.
Implement error checking for DATA frames as well as ACK frames to provide reliable communications. Use the checksum() function found in the file checksum.c for error checking. This file is posted in the zip file attached below.
Add additional print statements to your code to provide information about what the client and server programs are doing when they run.
Test your SWAP client and server using the files test_swap_client.c and test_swap_server.c that are provided in the attached zip file below.
The sender should send one frame at a time and wait for an acknowledgement before the next frame is sent.
Compile and Run the SWAP Client and Server Programs
You will need to test your programs on two terminals, one terminal for the server and another terminal for the client. The port number and IP address for the client should be specified as command line arguments.
# Compile the SWAP server program
$ gcc test_swap_server.c swap_server.c sdp.c checksum.c -o test_swap_server
# Run the SWAP server program from the command line; specify the port number
# Compile the SWAP client program
$ gcc test_swap_client.c swap_client.c sdp.c checksum.c -o test_swap_client
# Run the client program from the command line; specify the IP address and port number
./test_swap_client [login to view URL] 8899
If there are no errors in your implementation of SWAP, then swap_server will print the message sent from swap_client.
Your submission for Part 3 of the project should include six files:
The updated source code for swap_client.c
The updated source code for test_swap_client.c
The updated source code for swap_server.c
The updated source code for test_swap_server.c
A screen shot of the running SWAP client program
A screen shot of the running SWAP echo server program