===========================================================
Overview of files for the srcp (Simple Remote CoPy) program
Version 2
===========================================================
CS515  UNIX NETWORK PROGRAMMING
Homework 2  Due date: Mar. 11, 2002
Auther: Huang, Hao  (2860A)

Program Title: Simple Remote CoPy (srcp) Version 2
Objective: To practice server design technoques with sockets 
           programming

Requirements:
  - Design and implement the second version of srcp server and 
    srcp client

  - Client usage: srcp_clnt_v2 [-u|-t] src-filename dst-filename
      . -u: use UDP
      . -t: use TCP
	  . The file name is in the format of hostname:path
		  - hostname: the name of the host
		  - path: the complete (path) file name
      . Example: srcp_clnt_v2 -t npu6:/tmp/a1.zip npu8:a2.zip
      . Check result: npu6:>diff /tmp/a1.zip a2.zip

  - Server usage: srcp_srv_v2   (or server_hw2_2860)

  - This homework must be implemented with the following guidelines
	  . All the requirements for version 1
	  . The server must concurrently support multiple clients
		(including TCP client and UDP client)
	  . The client must support both TCP and UDP mode of operation
      . To facilitate testing, the server must print out the number of
        the clients that it is serving (optionally other info about the                 clients)
      . To copy a file using multiple UDP messages may require 
        additional application layer work (so it is optional, not 
        required)

This program uses the wrapper functions contained in the library from 
the text book (libunp.a). The references are in ~/netcalc/var0.

Port number: 22860

Files: 
    readme          : program outline
    makefile        : make file for the srcp programs
    srcp.h          : general header file
    srcp_srv.c      : server main
    srcp_clnt.c     : client main
    srcp_util.c     : common utility functions 
    srcp_util_soc.c : common utility functions for socket
    srcp_app_srv.c  : application layer of the server (user interface)
    srcp_app_clnt.c : application layer of the client (user interface) 
	 
