Java多播套接字不';我在Windows上没有收到任何东西
我需要在多播发送和接收 这是我的发件人:Java多播套接字不';我在Windows上没有收到任何东西,java,windows,sockets,multicast,receiver,Java,Windows,Sockets,Multicast,Receiver,我需要在多播发送和接收 这是我的发件人: 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];
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
publicstaticvoidmain(字符串[]args){
多播套接字=空;
试一试{
插座=新的多播插座(3575);
int n=1;
而(n我在我的笔记本电脑上编译并运行了你的代码,发送方和接收方在同一台机器上。它工作正常。(Fedora26 Linux,Java1.8.0_171)
问题似乎与您的网络有关,而不是与应用程序代码有关。因此,既然这不是编程问题,我认为您最好在ServerFault网站上问这个问题……他们专门从事网络等工作。您不是在广播,而是在多播。如果此应用程序正在运行在Internet上,它需要路径中所有ISP的合作。检查是否启用了多播:@EJP应用程序在LAN上运行。我不需要Internet。@StephenC这是te结果:Ambito Rifermenti Ultimo Indirizzo----------------------------------------------0 0 SÌ224.0.0.1 0 2 SÌ224.0.0.251 0 1 SÌ224.0.0.252 0 1 SÌ239.255.255.250我在同一台笔记本电脑上用Oracle虚拟机在Ubuntu上尝试了我的代码。它可以工作。我认为问题出在Windows上。Windows可以做些什么。但是呢?“我认为你最好在ServerFault网站上问这个问题”
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