MSMQ not sending or listening for Multicast messages


  MSMQ not sending or listening for Multicast messages.


The problem is caused by the absence of "Reliable Multicast Protocol" for the Network Connection.



The solution is to manually add the missing RMCAST protocol to the Network Connection.

  1.   Open Control Panel - Network Connections
  2.   Right click "Local Area Connection" and select Properties.
  3.   Click Install...
  4.   Select Protocol then click Add...
  5.   Browse the POSReady DVD for the \I386\INF folder
  6.   Select NETPGM.INF and choose OK. (The edit box will just display <drive>:\I386\INF, but this is expected.)
  7.   Select "Reliable Multicast Protocol" then click OK.
  8.   Stop and Restart Message Queuing Service.

  Multicasting messages should now start working.


More Information

There were a couple of symptoms found in testing: 

1. Cannot receive multicast messages in the application event log, MSMQ generated an event 2160: "The queue cannot listen/bind to the multicast address (Error:273c)." 0x273C translates to 10044 - WSAESOCKTNOSUPPORT - "The support for the specified socket type does not exist in this address family."

2. Unable to send multicast messages In Computer Management, the outgoing queue would stay in a “waiting to connect” state.  What made the troubleshooting tricky was that the multicasting driver (RMCAST.SYS) seemed to be installed. At the command prompt, we could execute "NET STOP RMCAST" and "NET START RMCAST" without error. Also, the Message Queuing service had a dependency on RMCAST so if the Multicast driver was down, MSMQ would not have started anyway.

Looking at a normal retail installation of Windows XP wasn't too much help as nothing visibly changes for Multicasting when you install MSMQ. Multicasting is bundled in as part of the Core subcomponent so you couldn't avoid installing it with MSMQ. Also, for normal Windows XP, the Reliable Multicast Protocol did not show up as an item used by the network card in the properties for the Network Connection in Control Panel so its absence in POSReady was no indicator of problems.