I'm creating a system where agents written in different languages need to communicate over a local area network using the open sound control (OSC) protocol. One controller agent will need to broadcast information to a number of client agents. I would prefer to use multicasting, so that any agents that appear on the network are able to immediately receive messages without establishing a connection. I have programmed in Java using MulticastSocket successfully, but it seems that many OSC libraries (NetUtil and JavaOSC in Java, udpsend and udpreceive in MaxMSP) don't support multicast sending.
Have I got this right? Does an OSC library need to support multicast for it to be able to send multicast? Or can multicast be achieved simply by sending to the right IP address (if so can you show how to get this working using the NetUtil library in Java, and/or the udpsend and udpreceive objects in MaxMSP)?
You've got this right. The OSC library need to support multicast. I can only speak for c++, where you basically have to set socket options right. A lot of OSC libraries don't do that.
Look at this discussion about how to enable broadcast/multicast in an existing library to get an idea: broadcasting with ofxOsc
In java: Class StandardSocketOptions