title: Windows 8.1 UDP Multicast
body: <p>I'm having a problem getting UDP multicast send to work from Windows 8.1. </p>
  
  <p>The following simple test program works from within an interface-bridged VM running Windows 7 or Ubuntu 13 on the same host. For this reason I am sure that the issue is not with the java test program, or with the physical network configuration.</p>
  
  <pre><code>import java.net.*;
  
  public class multicast_send  {
        public static void main(String[] args) throws Exception {
          DatagramSocket socket = null;
          DatagramPacket outPacket = null;
  
          socket = new DatagramSocket();
          String msg = "Multicast Test";
  
          outPacket = new DatagramPacket(msg.getBytes(), msg.getBytes().length, InetAddress.getByName("230.0.0.1"), 4446);
  
          socket.send(outPacket);
  
          System.out.println("Server sent : " + msg);
          socket.close();
        }
      }
  </code></pre>
  
  <p>The failure under windows 8.1 manifests itself as a silent failure, i.e. the message just does not arrive at a remote host.</p>
  
  <p>I've used WireShark on the Windows 8.1 host and I see no evidence of the UDP packets being sent.</p>
  
  <p>The Windows 8.1 firewall is disabled.</p>
  
  <p>I have tried a range of multicast addresses and ports with the same result (works from Win7, Ubuntu, not Windows 8.1)</p>
  
  <p>From browsing the inter-web I notice there are a few descriptions of UDP Multicast issues introduced in Windows 8.1; but this case does not seem to match the issue descriptions.</p>
  
  <p>The java environment is 1.7.0.51b13 in all three cases.</p>
  
  <p>Is there some hidden widget I need to tweak in Windows 8.1 to enable Multicast UDP? Is there a glaringly obvious code problem I'm not spotting which is Windows 8.1 specific? </p>