summaryrefslogtreecommitdiff
path: root/examples/IPC_SAP/SOCK_SAP/README
blob: 9f154faf6deb64562daf4af411b2fdf9ebcc853b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
This directory contains groups of client and server test programs that
exercise the various C++ wrappers for sockets.  In general, the test
programs do more or less the same thing -- the client establishes a
connection with the server and then transfers data to the server,
which keeps printing the data until EOF is reached (e.g., user types
^D).

Unless noted differently, the server is implemented as an "iterative
server," i.e., it only deals with one client at a time.  The following
describes each set of tests in more detail:

	. C-inclient.cpp/C-inserver.cpp -- This is basically a C code
	  implementation that opens a connection to the server and
	  sends all the data from the stdin using Internet domain
	  sockets (i.e., TCP).

	. CPP-inclient.cpp/CPP-server.cpp -- This test is basically
	  a C++ wrapper version of the preceeding "C" test using
	  Internet domain sockets (i.e., TCP).

	. CPP-unclient.cpp/CPP-unserver.cpp -- This test is basically
	  a C++ wrapper version of the preceeding "C++" test using
	  UNIX domain sockets.

	. FD-unclient.cpp/FD-inclient.cpp -- This test illustrates
	  how to pass file descriptors between two processes on the
	  same machine using the ACE C++ wrappers for UNIX domain
	  sockets.

	. CPP-inserver-poll.cpp -- This test illustrates how to
	  write single-threaded concurrent servers using UNIX SVR4
	  poll().  You can run this test using the CPP-inclient.cpp
	  program as the client.

For examples of the ACE SOCK_{Dgram,CODgram} and
SOCK_Dgram_{Mcast,Bcast} wrappers, please take a look in the
./examples/Reactor/{Dgram,Multicast,Ntalker} directories.