socketcc Library Version 1.0
----------------------------

Author: Jason But


--------------------------------------------------------------------------------
Project Summary:

This project will compile to a dynamically loaded library that can be used when
developing network/socket applications in C++.  The socketcc library is based
on the existing socket library available in most UNIX installations and also
uses the pthreadcc library also developed by the author.  The library defines a
series of classes that can be used to implement IP addressing and socket based
communications using both TCP and UDP sockets over both an IPv4 and IPv6 based
network.  This class library was developed by Jason But at Monash University.


--------------------------------------------------------------------------------
Purpose:

For those wishing to develop socket based network applications in a C++ class
oriented environment.  This library allows creation of sockets as classes as
well as IPv4 and IPv6 address representation as a class abstraction.  The main
aim is to allow the same code to work with both IPv4 and IPv6 implementations.


--------------------------------------------------------------------------------
Files:

README                       : this file.
Makefile                     : make file for the socketcc library.
obj/Makefile                 : make file for the object files which make up the
                               socketcc library.
src/socketcc.h               : header file defining classes supported by the
                               library and available to users of the library.
src/socketexception.cpp      : implementation of the SocketException class.
src/ipaddress.cpp            : implementation of the IPAddress class.
src/socketbase.cpp           : implementation of the SocketBase class.
src/tcpsockets.cpp           : implementation of the various TCP socket classes.
src/udpsockets.cpp           : implementation of the various UDP socket classes.


--------------------------------------------------------------------------------
Installation:

Running 'make', 'make all' or 'make library' will compile and link together the
components of the library to create libsocketcc.so.1.0
Running 'make objects' will compile the source code files to their respective
object files.
Running 'make install' will make the dynamic library and then install the
libsocketcc.so.1.0 to /usr/lib and copy socketcc.h to /usr/include.
Running 'make remove' will remove the dynamic library and header file from
/usr/lib and /usr/include.

NOTE: 'make install' and 'make remove' should be run as root.


--------------------------------------------------------------------------------
Usage:

Once the library has been compiled and installed, it can be used within any
other application program as follows:

1.) Include the socketcc library header file.

#include <socketcc.h>

2.) Create and program class instances as required and use as defined in the
    socketcc header file.

3.) Link the application together using the '-lsocketcc' flag to ensure that
    the dynamic library is linked into the final application.


--------------------------------------------------------------------------------
Information:

This library was originally developed for use in a multi-threaded, class based
netowrk application for Monash University.  While every effort will be made to
update it, this will only be done as time permits.  You can email the author at:

jason.but@eng.monash.edu.au
