TELCOM 2310 Fall 2009 Project 2 Assignment Page 1 of 6 University of Pittsburgh School of Information Sciences TELCOM 2310: Computer Networks Fall 2009 Project 2: Client-Server Design Due: October 18 (11:59pm)Read This First This project may be implemented using either sockets or Web services. You may submit two implementations for extra points: one using sockets and one using Web services. The grading scheme is as follows: •Implementation using sockets only: 100 % •Implementation using Web services only: 120 % •Two implementations: 140 % 1. Introduction The educational objective of this project is to reinforce concepts related to client-server protocols, socket calls, the operation of TCP and UDP sockets, and Web services. The design and programming objectives of this project are to design, implement, and test client and server programs that implement: •both TCP and UDP versions of the Basic Test Protocol (BTP).1or •a Web service providing the functionalities of BTP and a client for that service. Testing is to include testing your TCP client with a provided client program. BTP, requirements for the server and client, and other related matters are presented below. Note that mandatory features and optional features are specified. Mandatory features must be implemented. A subset of the optional features may be implemented to receive full credit for the project. 2. The Basic Test Protocol The Basic Test Protocol is a simple protocol that allows a client and server to test their connection. This is not a standard protocol, but does have features found in many application-level protocols. There is a UDP version, UDP-BTP, and a TCP version, TCP-BTP. Note that you are not to design the protocol – it is specified here – so your client and server should work with other clients and servers that implement BTP (with the exception of optional requests). 2.1. General Description BTP includes four mandatory request types (or methods), CLIENTIP, CLIENTPORT, COUNT, and ECHO, which can be sent by a client to the server. There are also three optional requests, CLIENTNAME, DAYTIME, and REVERSE. The server responds with a message that is appropriate to each request type. The server should ignore any invalid requests, but it should not fail if an invalid request is received. TCP-BTP: To make a request, the TCP-BTP client must first establish a TCP connection with the TCP-BTP server. The client then sends the request to the server and closes the connection for sending from client to server. If the request is valid, the server then sends the reply and closes the connection for sending from server to client. Note that a new TCP connection must be established for each request. 1“BTP” is defined only for this assignment. You won’t find an RFC that describes BTP, at least not yet.
has intentionally blurred sections.
Sign up to view the full version.