Java Multicast Socket modtager ikke noget på Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal sende og modtage i multicast.


Dette er min Afsender:


public static void main(String[] args) {

    MulticastSocket socket = null;
    try {
        socket = new MulticastSocket(3575);
        int n = 1;
        while (n <= 100) {
            byte[] buf = new byte[256];
            // non aspetta la richiesta
            String dString = new Date().toString();
            buf = dString.getBytes();

            // invia il messaggio in broadcast
            InetAddress group = InetAddress.getByName("230.0.0.1");
            DatagramPacket packet = new DatagramPacket(buf, buf.length, group, 3575);
            socket.send(packet);
            System.out.println ("Broadcasting: "+dString);
            Thread.sleep(1000);
            n++;
        }
        socket.close();
    }catch(Exception e) { e.printStackTrace(); socket.close();}

}//main


Dette er min modtager:


public static void main(String[] args) throws IOException {

    MulticastSocket socket = new MulticastSocket(3575);
    InetAddress group = InetAddress.getByName("230.0.0.1");
    socket.joinGroup(group);
    DatagramPacket packet;
    for (int i = 0; i < 100; i++) {
        byte[] buf = new byte[256];
        packet = new DatagramPacket(buf, buf.length);
        socket.receive(packet);
        String received = new String(packet.getData()).trim();
        System.out.println("Time: " + received);
    }
    socket.leaveGroup(group);
    socket.close();
}//main


Når jeg kører dem, modtager modtageren ikke noget.
Jeg forsøgte på to forskellige pc'er (begge med Windows) med AntiVirus og firewall deaktiveret. Jeg forsøgte også med forskellige LAN: min router, min telefon hotspot.
Det virker heller ikke på den lokale maskine.


Hvordan kan jeg løse problemet?
Tak

Bedste reference


Jeg kompilerede og kørte din kode på min bærbare computer, med afsender og modtager på samme maskine. Det virker. (Fedora 26 Linux, Java 1.8.0\_171)


Det ser ud til, at problemet er noget at gøre med dit netværk, ikke applikationskoden. Så da dette ikke er et programmeringsproblem tror jeg, du ville være bedre stillet med at stille dette spørgsmål på ServerFault-webstedet ... hvor de specialiserer sig i netværk osv.