Jeremy have written and included a couple of small AMarquee toy applications
in this archive. These applets come with C source code, and are
meant as examples on how to use AMarquee. They aren't as robust
or useful as they could be, but they do demonstrate some possible
AMarquee uses and techniques.
Applications that can currently be found in the "Examples" directory:
AMarqueeDebug - A cli interface to AMarquee. Connects to an AMarquee
server on the server and port specified on the command
line. Once connected, it allows you to execute
various AMarquee commands and see incoming QMessages.
AMarqueeSocketDebug - It's like AMarqueeDebug but uses a QNewSocketSession().
This demonstrate the new raw socket functions that allow you to
connect to any server on the Internet. You could test this
with for example AMarqueeSocketHost.
AMarqueeDebug.rexx - Same thing as AMarqueeDebug, but written in ARexx.
AMarqueeDebugMultiThread - Just like AMarqueeDebug, but with an
extra thread thrown in to demonstrate
the use of QDetachSession and QReattachSession.
AMarqueeSharedMP - Demonstrates shared message ports introduced with v.51.
KillClients.rexx - A utility that allows you to kick AMarquee clients
off the AMarquee daemon running on localhost. Note
that you must set the env variable AMARQUEED_KILLCLIENTS
appropriately to give KillClients permission to do this,
or it won't work. ("/localhost/#?" is a good setting
to use)
SysMessage.rexx - A utility that lets you send system messages to
AMarquee clients logged into your machine's AMarqueed
server. (You'll need QPRIV_SENDSYSMESSAGE access to
do this)
AMarqueeHost - Like AMarqueeDebug, only instead of initiating a connection,
it uses QNewHostSession to await an incoming connection on
a specified port.
AMarqueeSocketHost - Like AMarqueeSocketDebug, only instead of initiating a connection,
it uses QNewSocketServerSession to await an incoming connection on
a specified port.
AMarqueeHost.rexx - Like AMarqueeHost, but written in ARexx.
AMarqueeServer - Something like AMarqueeHost, only implemented as an
AmiTCP daemon using QNewServerSession. To start
this program, you should install it in inetd's service
registry, and then connect to it via an AMarquee client.
For example, if you installed it on port 16000, you
could connect to AMarqueeServer using AMarqueeDebug:
AMarqueeDebug localhost test 16000
GetURL - Retrieves the index.html file from a web-server. e.g.
GetURL ACS.hostile.cx 80
GetURL_Hook1 - Retrieves the index.html file from a web-server.
This one uses a QProtocolStopMarkerHook according to alternative 1.
e.g GetURL ACS.hostile.cx 80
GetURL_Hook2 - Retrieves the index.html file from a web-server.
This one uses a QProtocolStopMarkerHook according to alternative 2.
e.g GetURL ACS.hostile.cx 80
GetURL.rexx - Same as above but written in ARexx.
BounceCount - Tests the data subscription. Subscribes to "/#?/#?/count",
and whenever it recieves a message that someone else has
updated their count to a higher value than its own, it
responds by updating its value one further.
MiniIRC - A primitive IRC system. Just one "room", but hey--it's
only 212 lines of C source code!
RemoveTest - Tests the node removal notification by continuously
creating a node and then deleting it. You can use
AMarqueeDebug or whatever to subscribe to "/#?/#?/switch"
to see that it works.
SillyGame - A trivial multiplayer "game" implemented with AMarquee.
You can use the numeric keypad to move your letter around,
or press any other key to change to another letter.
Uses data streaming for better performance.
SyncTest - Tests the QGo() synchronization. Anyone who subscribes
to "/#?/#?/count" should see its value increasing without
ever missing a step.
StreamGen - Tests the QStreamOp() synchronization. Have this program
logged into your AMarqueed server, and then connect one or
more StreamCheck programs to the same server.
StreamCheck - Tests the QStreamOp() synchronization. Log these into
an AMarqueed server where StreamGen is running. They
should count up numbers and not report any skipped numbers.
Converted on 24 Mar 2002 with RexxDoesAmigaGuide2HTML 2.1e(private) by Michael Ranner.