summaryrefslogtreecommitdiff
path: root/docs/tutorials/index.html
blob: 1ba3fbcc63a498e2badd90951bb5a8528513ecfd (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i486) [Netscape]">
   <META NAME="Author" CONTENT="James CE Johnson">
   <TITLE>Online ACE Tutorials</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F">

<HR>
<H3>
Online ACE Tutorials</H3>

The following online tutorials are designed to help get you started
with ACE.  The original audience for these tutorials was the <A
HREF="http://www.lads.com">Automated Design Systems</A> (ADS) IPC
team, lead by <A HREF="mailto:jcej@lads.com">James Johnson</A>.  Since
then, the scope has been changed to include anyone who wants to learn
about the ACE framework. Hopefully, even experienced ACE programmers
will find something new here. With a framework as encompassing as ACE,
it is easy to become an expert in one area and know little or nothing
about others. <P>

<FONT size=-1>Before you try compiling Tutorial 2 (and beyond) you
might want to read these comments about <A HREF="templates.html">C++
templates</A></font> <P>

<P><HR WIDTH="50%" align=left><P>
<H4>
Your basic Client/Server hookup</H4>

<OL>
<LI>
<A HREF="001/page01.html">A
Simple Server</A></LI>

<LI>
<A HREF="002/page01.html">A
Simpler Server</A></LI>

<LI>
<A HREF="003/page01.html">Finally,
a Client</A></LI>

<LI>
<A HREF="004/page01.html">A
much <I>cooler</I> client</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>
<H4>
A word about concurrency</H4>

<OL>
<LI>
<A HREF="005/page01.html">No
threads, nothing fancy, just do the work!</A></LI>

<LI>
<A HREF="006/page01.html">I'd
like to dedicate... a thread to each connection.</A></LI>

<LI>
<A HREF="007/page01.html">Let's
pool our resources:&nbsp; a fixed-size pool of threads.</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>
<H4>
Finding servers on your network</H4>

<OL>
<LI>
<A HREF="008/page01.html">Calling
all servers!</A></LI>

<LI>
<A HREF="009/page01.html">Discriminating tastes...</A></LI>
</OL>

<P><HR WIDTH="50%" align=left><P>

<H4>
A word about ACE_Message_Queue</H4>

<OL>
<LI>
<A HREF="010/page01.html">Puttin' data</A></LI>
<LI>
<A HREF="011/page01.html">What about non-trivial data?</A></LI>
<LI>
<A HREF="012/page01.html">Puttin' pointers</A></LI>
<LI>
<A HREF="013/page01.html">Task chains and state machines</A></LI>
</OL>
<HR>

<P>Back to the <A
HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/ACE-tutorials.html">ACE
tutorials</A> page.

<P>
<!--#include virtual="/~schmidt/cgi-sig.html" -->
</BODY>
</HTML>