Universal Messaging 10.11 | Administration Guide | Universal Messaging Administration API | Realm Server Management | Multicast
 
Multicast
A common way to add a multicast configuration is via the Enterprise Manager (see Adding a Multicast Configuration) but you can also do this programmatically.
Creating the nMulticastConfiguration
In order to create an nMulticastConfiguration object you need to specify two parameters:
*multicastAddress - Multicast IP address to use
*adapter - Network adapter address of your multicast configuration
Java, C#:
String multicastAddress = "227.0.0.98";
String adapter = "10.150.12.1";
nMulticastConfiguration mConf = new nMulticastConfiguration(multicastAddress, adapter);
C++:
std::string multicastAddress = "227.0.0.98";
std::string adapter = "10.150.12.1";
nMulticastConfiguration* mConf = new nMulticastConfiguration(multicastAddress, adapter);
Enabling multicast for cluster communication
In order to use multicast for intra-cluster communication you need to set a flag on the nMulticastConfiguration:
Java, C#:
mConf.setUseForCluster(true);
C++:
mConf->setUseForCluster(true);
Enabling multicast on DataGroups
When you create a DataGroup you have the option to enable multicast delivery. However you also need to enable multicast for DataGroups on the multicast configuration:
Java, C#:
mConf.setUseForDataGroups(true);
C++:
mConf->setUseForDataGroups(true);
Then (after the configuration has been applied) when you create a DataGroup you need to set the enableMulticast flag to true:
Java, C#:
boolean enableMulticast = true;
String name = "newGroup";
mySession.createDataGroup(name,enableMulticast);
C++:
bool enableMulticast = true;
std::string name = "newGroup";
mySession->createDataGroup(name,enableMulticast);
Applying the multicast configuration
In order to register the new configuration on the server you will need to connect to a Universal Messaging Realm and establish an nRealmNode (see nRealmNode). You can then get a reference to the nMulticastManager:
Java, C#:
nMulticastManager mMgr = realm.getMulticastManager();
C++:
nMulticastManager* mMgr = realm->getMulticastManager();
You can now use the nMulticastManager to send the new configuration to the server:
Java, C#:
mMgr.addMulticastConfiguration(mConf);
C++:
mMgr->addMulticastConfiguration(mConf);