Note the following additional The name of the client

Note the following additional the name of the client

This preview shows page 7 - 9 out of 13 pages.

Note the following additional requirements/explanations: The name of the client executable program must be myftp . The name of the server executable program must be myftpd . To avoid potential conflict in the use of the server's ``well known'' port number when several students use the ceto server, you should use the TCP port allocated to you as the default server listening port. Tests should show the cases where both the client and the server are on the same machine as well as on different machines (you may want to use ceto.murdoch.edu.au to do the testing, however you must kill your server at the end of the test ). They should also show that more than one client can obtain the service at the same time. You may use the command script to record the terminal I/O. When debugging your network program on a standalone machine (e.g., on your home Linux), you may use localhost as the ``remote'' host name. Tests should show that the program can transfer not only small files (e.g., 0, 10 and 100 bytes) but also large files (at least several mega bytes), and not only text files but also binary files. In addition, you must show that the transferred file and the original file are identical not only in their sizes but also in their contents (use diff command). The specification of the protocol is an important part of this question. Please provide a full specification of the protocol in a section separated from the client and server implementations. You should complete this specification before starting the implementation of the client and server programs. Please note that the server must be implemented as a daemon and must log all of its interactions with the clients. Project 3: A Simple HTTP Client and a Simple HTTP Server ( Back to Beginning ) This project involves an independent study of an existing protocol named HTTP (HyperText Transfer Protocol), version 1.1, and then design and implement a simple HTTP client that is
Image of page 7
3/5/2017 ICT374 Major Assignment Two 8/13 able to communicate with any HTTP server, and design and implement a simple HTTP server that is able to provide simple services requested by any HTTP client. Please note that a thorough understanding of the HTTP protocol is an important part of this project. Unless you are confident that you are able to gain a thorough understanding of the protocol, you should not select this project as your assignment. This project has three components: 1. An essay of at least three pages long, explaining your understanding of the HTTP protocol. The essay should provide details of the protocol that are relevant to the project. 2. Design and implementation of an HTTP client program using C, see the detailed requirements below.
Image of page 8
Image of page 9

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture