MUSCLE (Multi User Server Client Linking Environment) is an N-way messaging server and networking API. It includes client-side networking APIs for various languages, including C, C++, C#, Delphi, Java, and Python. MUSCLE lets programs communicate over a network via streams of serialized Message objects. The included server program ("muscled") lets its clients message each other and store information in its server-side hierarchical database. The database supports flexible queries via hierarchical wildcarding, and "live" updates via a subscription mechanism.
| Tags | Database Database Engines/Servers Software Development Libraries Application Frameworks Communications Java Libraries |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | BeOS Mac OS X Windows Windows Windows OS Independent POSIX |
| Implementation | C C# C++ Java Python |
Recent releases


Changes: This version adds a ThreadLocalStorage API, extends the Thread API, adds multiple-send-destination support to the UDPSocketDataIO class, upgrades the GetNetworkInterfaceInfos() API, and has several other minor enhancements.


Changes: This version improves signal handling a bit more, and redesigns the ChildProcessDataIO class so it is able to do "soft/hard shutdowns" (i.e. request that the child process quit, and then forcibly kill it if it doesn't comply in a certain number of seconds).


Changes: This release features greatly improved IPv6 support, as well as as a simplified interface to the Message class (Message::Find*() methods that take by-reference arguments, and Message::Get*() methods). It also adds a feature to automatically include source code location hashes in log entries, more flexible signal handling, and the LogCallback API has been made simpler and more powerful. There are various bugfixes.


Changes: This release adds better UDP support to the Java classes, a SegmentedStringMatcher class for convenient wild-card matching on segmented path strings, a number-aware string comparison function, and various other minor features and bugfixes. The Java classes have been repackaged from com.lcs.* to com.meyer.* to reflect a company name change.


Changes: Many small improvements and bugfixes.
- All comments
Recent commentsMailing list created
FYI, there is now a MUSCLE mailing list covering development
and use of the MUSCLE toolkit. You can subscribe to it by
sending an email to with the word muscle-request@freelists.org
"subscribe" in the subject line, or you can search the mailing
list archives here.
Re: Rudimentary BeShare-compatible command line chat client available
> New version of Clyde is v1.04. It's
> been tweaked to compile with MUSCLE
> v1.30+.
You need to add QueryFilter.o and ByteBuffer.o to the Makefile to get it to compile with latest MUSCLE's.
Re: Rudimentary BeShare-compatible command line chat client available
New version of Clyde is v1.04. It's
been tweaked to compile with MUSCLE v1.30+.
Confusing name
The name of this project is rather confusing. MUSCLE is already the name of the de-facto standard smartcard environment for Linux. (Google for "muscle linux" and you'll see what I mean.)
Re: Rudimentary BeShare-compatible command line chat client available
Clyde 1.01 is
here. It fixes a nasty crashing bug and adds a few minor features.