Sekati ActionServer is a light-weight, C based, TCP/IP Echo Socket Server. It functions as the networking glue for any real-time multi-user or hybrid technology application.
The daemonized server opens
TCP port 2229 for incoming connections, awaits a
channel join command (this allows for a single server instance to host many different applications without message overflow), then broadcasts any messages received from clients to all other connected clients in real-time.
The Sekati ActionServer has been successfully deployed in many different use-cases such as:
In addition to the primary
actionserver daemon &
actionserverctl control script - a second daemon
socketpolicyserver is shipped/installed to support flash & air applications which require a special crossdomain XML policy be served on a specific socket.
The following is key usage information to know about the
ActionServer Daemon (defaults may be changed in
*gimmeallchannel*- this is a special control channel which a client may join in order to monitor traffic across all "channels".
/tmp/actionserver.log- automatically rotated.
NULLcharacter is used to terminate each transmitted & received message (this is default behavior in AS3 & Wiring / Processing).
channel: you will only receive messages transmitted by other clients who have joined the same
"room". This allows you to use the server for multiple applications. __Please note this means immediately upon connecting your client must send a string defining it's room followed by the
1843- while the default adobe socket server is
843running daemons on ports below
1024requires running as the
rootuser so we run on a high port (be sure to point any flash/air clients at the modified port: this is illustrated in the
make install(you will be prompted for your
rootpassword for installation).
socketpolicyservermaking them ready for use.
If you run in to trouble while compiling or installing the binaries you may run
make uninstall to start over or type
make help for more information.
The ActionServer is an extremely light-weight & low requirement application meant to run on nearly any operating system:
Makefile - The ActionServer Makefile: see the Installation section above for more.
src/ - ActionServer C source code.
examples/ - Flash example app which illustrates connecting, sending, receiving & disconnecting.
bin/ - runtime binaries.
./actionserverctl [ command ]
start- Start the ActionServer & Socket Policy Server daemons.
stop- Stop the ActionServer & Socket Policy Server daemons.
status- Displays a brief status report on the daemons statuses.
log- Tail the log files for both daemons.
8/28/11 - *v1.1.0 - Added a proper Makefile - Repackaged for Github release. - Revises `actionscriptctl` control script - Revised build.sh compilation script - Revised channel password - Added detailed README instructions (this document) - added includes to string.h & stdlib.h to surpress gcc warnings 2/8/10 - *v1.0.9* - Added proper LICENSE.txt - added socketpolicyserver.pl & integrated actionserverctl script - pointed logging facility to /tmp/actionserver.log - updated actionserverctl - created new binary build - updated actionscript examples. 1/18/10 - *v.1.0.8* - Changed message buffer to 8192 (8k) from 2048 (2k) - Changed max users to 500 (from 100)
Copyright © 2011 Jason M Horwitz / Sekati LLC & Marcus Stoeger. All Rights Reserved.
Released under the MIT License: http://www.opensource.org/licenses/mit-license.php
The MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.