Supercollider – when receiving messages in TCP – asks for a trailing int containing the length of the message [1]. This has been implemented like this:
QByteArray out = oscMessage( path, data ); qint32 len=out.length(); out.push_front(QOscBase::fromInt32(len)); socket()->write(out);
Sending such a message to puredata, results in an error:
unpackOSC: DataAfterAlignedString: Incorrectly padded string unpackOSC: Bad message name string: Dropping entire message.
[1] http://supercollider.svn.sourceforge.net/viewvc/supercollider/trunk/common/build/Help/ServerArchitecture/Server-Architecture.html
Binary Format of Messages / a Message consists of:
using TCP :
int – the length in bytes of the following message.
one Bundle or one Command.