<HTML> <!-- online-tutorials.html,v 1.7 2001/01/20 16:25:40 schmidt Exp --> <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: 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> <P><HR WIDTH="50%" align=left><P> <H4> Paddling down (and up) the ACE_Stream</H4> <OL> <LI> <A HREF="014/page01.html">ACE_Stream Tutorial, Of Sorts</A></LI> <LI> <A HREF="015/page01.html">A certain amount of Protocol is required!</A></LI> </OL> <P><HR WIDTH="50%" align=left><P> <H4> Keeping yourself in synch</H4> <OL> <LI> <A HREF="016/page01.html">On one condition...</A> <LI> <A HREF="017/page01.html">Something about Barriers</A> <LI> <A HREF="018/page01.html">Tokens & templates</A> </OL> <P><HR WIDTH="50%" align=left><P> <H4> Do you remember...</H4> <OL> <LI> <A HREF="019/page01.html">Using System V Shared Memory for telepathy</A> <LI> <A HREF="020/page01.html">Never forget anything else again!</A> <LI> <A HREF="021/page01.html">Pooling your memories via ACE_Malloc</A> </OL> <P><HR WIDTH="50%" align=left><P> <H4> Configurin' components dynamically</H4> <OL> <LI> <A HREF="022/page01.html">Using the ACE Service Configurator framework</A> </OL> <HR> <P>Back to the <A HREF="../ACE-tutorials.html">ACE tutorials</A> page. <P> <!--#include virtual="/~schmidt/cgi-sig.html" --> </BODY> </HTML>