The Perl Message implementation uses '
Message' objects defined in
Message.pm. A Message object can also contain zero to four
MessageArg' objects. The message IDs are stored in hashes which
you can import into your namespace by doing something like '
MSMessages qw(:all)'. The message arg types '
String', and '
Binary' are all defined when you
use Messages'. The arg type '
ClientKey' is defined
when you '
use ClientKey'. I know it's naughty of me to define
more than one object in a .pm file, but, darnit, message arg objects are small
and trivial. As a side note: there is no real difference between
MessageArg::String' and '
what they return in their '
toString' methods. The "text" you can
send to clients is generally not bounded to being a string (the multiplexer
won't care either way).
To compose a message, you would use the '
(even if you do not have any arguments, you at least have a message id). Each
MessageArg' type contains a '
so, if you wanted to, say, send text to a client (for which you must have a
ClientKey' object), you would do this:
And then '
$message->getPacked' would give you the literal binary
content to send to the multiplexer. There's a fairly good chance (unless you
define your own argument types and expect them to work), you could use
guessFromArgs' instead of '
newFromArgs' and pass
the arguments directly, i.e.:
Receiving a message is slightly more tricky. As I haven't finished the parse method, I can't really finish this section yet.
Doc Index / Message Format
|This project is hosted by sourceforge.net:||project homepage||silver's homepage|