MUSCLE 3.24 reviewDownload
MUSCLE is a somewhat scalable, robust, cross-platform client-server messaging system for dynamic distributed applications that runs u
MUSCLE is a somewhat scalable, robust, cross-platform client-server messaging system for dynamic distributed applications that runs under any POSIX-compliant operating system.
MUSCLE has been developed, used, and refined as the networking component of BeShare, CueStation, CueConsole, and various other audio control applications at Level Control Systems for over four years.
Here are some key features of "MUSCLE":
Use BMessage-like muscle::Messages under any operating system.
Send flattened muscle::Messages from one computer to another over TCP streams, eliminating unnecessary compatibility and protocol-versioning hassles.
Run a "muscled server" on a central machine, and write (or download) client programs to log in to the server and communicate through it. Once logged in, client programs can discover who else is logged in, send muscle::Messages to other clients, and store muscle::Messages in the server's RAM for other clients to download later. Clients can also "subscribe" to selected data on the server, and be automatically notified whenever it changes. Unicast-style, multicast-style, and broadcast-style Message routing are all supported via an intelligent hierarchical pattern-matching routing mechanism. Writing multiplayer games, IRC style chat applications, SETI style distributed calculation apps, or any other type of distributed software is made easy because MUSCLE handles all the dirty work for you!
Customize the included "muscled server" by defining your own session logic or message-streaming protocol. (Note that this is only necessary for certain specialized applications--the standard server provides sufficient functionality for most things)
Write your client code in C++, Java, or Python. Single-threaded and multi-threaded messaging APIs are provided for all three languages.
Or just use the included message, string, dataIO, hashtable, dequeue, string-tokenizer, reference-count, regular expression and pattern matching parser, and object-pool code by themselves, as handy cross-platform utility classes. All source code is included, and you are free to use and abuse it any way you wish.
See the Beginner's Guide for a more detailed description of the system and its capabilites.
What's New in This Release:
This release adds an improved MacOS X implementation of GetRunTime64(), a succinct alternative syntax for the Hashtable and Message iterators, a reduction of the output-stall-timeout from 20 minutes to 3 minutes, and various minor bugfixes.
MUSCLE 3.24 keywords