home *** CD-ROM | disk | FTP | other *** search
- Echosamp consists of two subdirectories, an echo client (echoclnt)
- and an echo server (echosrv), located in \TOOLKIT\SAMPLES\TCPIPTK\ECHOSAMP.
-
- The echosrv directory contains three samples of echo servers:
-
- ECHOSMT.C - This version of the server is a multithreaded, multiclient
- TCP/UDP echo server. It starts a new thread for each
- TCP connection it accepts. The main thread is responsible for
- handling UDP echo requests, issuing the accept() for each new
- TCP connection, and spinning off a thread to service it.
-
- ECHOSRV.C - This version of the server is a single threaded, multiclient
- TCP/UDP echo server. It services UDP echo requests, TCP echo
- requests, and requests for new TCP connections all from one
- thread using select().
-
-
- ECHOSTCP.C - is a single threaded, TCP only echo server. It services only one
- TCP echo client at a time.
-
- This program implements the server side of the Echo protocol (RFC 862). The
- Echo protocol is very simple: whatever the client sends to the server, the
- server will send right back to the client.
-
- This version of the server services UDP echo requests, TCP echo requests, and
- requests for new TCP connections all from one thread using select().
-
- The complete RFC is reproduced below:
-
-
- Network Working Group J. Postel
- Request for Comments: 862 ISI
- May 1983
-
- Echo Protocol
-
- This RFC specifies a standard for the ARPA Internet community. Hosts on
- the ARPA Internet that choose to implement an Echo Protocol are expected
- to adopt and implement this standard.
-
- A very useful debugging and measurement tool is an echo service. An
- echo service simply sends back to the originating source any data it
- receives.
-
- TCP Based Echo Service
-
- One echo service is defined as a connection based application on TCP.
- A server listens for TCP connections on TCP port 7. Once a
- connection is established any data received is sent back. This
- continues until the calling user terminates the connection.
-
- UDP Based Echo Service
-
- Another echo service is defined as a datagram based application on
- UDP. A server listens for UDP datagrams on UDP port 7. When a
- datagram is received, the data from it is sent back in an answering
- datagram.
-
-
- Following are details on building and executing the echo server samples:
-
- 1. To compile and link the sample programs, type:
-
- nmake -f vacpp.mak (to build using the VisualAge C/C++ compiler)
-
- 2. Executing echosmt.exe, echosrv.exe and echostcp.exe
-
- a. To start the echosmt server, type:
-
- start echosmt
-
- An additional session is created and the following
- messages are displayed:
-
- TCP socket assigned is 144
- UDP socket assigned is 145
-
- b. To start the echosrv server, type:
-
- start echosrv
-
- An additional session is created and the following
- messages are displayed:
-
- TCP socket assigned is 146
- UDP socket assigned is 147
-
- c. To start the echostcp server, type:
-
- start echostcp
-
- An additional session is created and the following
- message is displayed:
-
- TCP socket assigned is 148