Page 1 of 1

Multicast over local network -java

Posted: Mon Feb 02, 2015 7:07 pm
by spero
προσπαθω να κάνω multicast σε java, φτιαχνω ένα thread στον πελάτη και ένα thread στον σερβερ.To thread στον server περιμένει μυνήματα, το thread στον πελάτη στέλνει ένα αίτημα και περιμένει μια στάνταρ απάντηση απο τον server. όταν τρέχω client-server στο ιδιο μηχάνημα δουλεύει, client εδω, σερβερ εκεί οχι.firewall κλειστά και στους 2.Καμιά ιδέα?

Re: Multicast over local network -java

Posted: Mon Feb 02, 2015 7:12 pm
by moody
Ports ? Ανοιχτά ;

Re: Multicast over local network -java

Posted: Mon Feb 02, 2015 7:31 pm
by spero
sστο router? αφου οτι κάνω είναι εντός δικτύου ...

Re: Multicast over local network -java

Posted: Mon Feb 02, 2015 9:26 pm
by MoonShadow
Κάτι μου λέει ότι δε χρησιμοποιείς multicast IP.Μάλλον αφήνεις localhost ενώ πρέπει να βάλεις multicast IP (range 224.0.0.0 έως 239.255.255.255,νομίζω έχει και κάποιες δεσμευμένες δεν θυμάμαι ακριβώς ποιες είναι).Εάν παίζεις με localhost,τότε client+server που τρέχουν στο ίδιο pc θα ανταλλάξουν επιτυχώς τα μηνύματα τους.

Re: Multicast over local network -java

Posted: Mon Feb 02, 2015 9:35 pm
by spero
client

Code: Select all

   /*Bind the sockets*/
            listeningSocket = new DatagramSocket(6000);
            listeningSocket.setReuseAddress(true);

            querySocket = new MulticastSocket(4400);
            querySocket.setLoopbackMode(false);
            querySocket.setTimeToLive(10);//--------------
            
            group = InetAddress.getByName("230.0.1.5");

            querySocket.joinGroup(group);
            System.out.println("joined multicast group");
            answer = new DatagramPacket(buff, buff.length);
            dummyPacket = new DatagramPacket(buff, buff.length, group, 4400);
server

Code: Select all

 listeningSocket=new MulticastSocket(4400);
	    	 listeningSocket.setReuseAddress(true);
	    	 listeningSocket.setTimeToLive(10);//-------------------------
	    	 responseSocket=new DatagramSocket();//fill later
	    	 multicastGroup=InetAddress.getByName(("230.0.1.5"));
	    	 listeningSocket.joinGroup(multicastGroup);
	    	 signaturePacket=new DatagramPacket(buffer, buffer.length);
	    	 reqPacket=new DatagramPacket(buffer, buffer.length);