[OSC_dev] oscit registration complete !

Jeff Glatt jgglatt at roadrunner.com
Wed Jan 28 10:10:46 PST 2009


>The port specified here is the target's port. When receiving messages
>in "other app", the sender's port (max/MSP) can be anything (50173 for
>a typical value). You cannot open any "udpreceive" with this port
>(already in use) and what you send it is ignored.

Aha! I think I got it!

When max/MSP sends a UDP datagram to some other port (using
the berkeley sockets function sendto), it creates a brand new socket
and specifies that socket as the one sending the message. (ie, It passes
that new socket as the first arg to sendto). Then it apparently closes
that socket after sending the message, instead of listening for replies
on that socket.

This should be a simple fix to max/MSP. Is there any msx/MSP
developer on this list? If so, you could make a suggested extension
to their udpsend object. What you want to do is be able to pass
an additional arg when creating one of these udpsend objects.
The additional arg is the port number of one of your udpreceive
objects, like this:

[udpreceive 10000]
[udpsend 10.0.0.5 7400 10000]

That should work a charm.

I'm finding it very difficult to find good documentation about what
exactly these updreceive and udpsend "objects" are. I gather that
they are some sort of "plug-in" in the form of a dynamic link library
(or "shared library" in Linux lingo) that max/MSP opens/uses. If so,
and there's source code available, point me to it. I'll take a peek at
it. I can't imagine that it would take long to modify it to provide the
feature you need.


More information about the OSC_dev mailing list