forked from pedrorchaves/SD
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MulticastClient (1).java
38 lines (33 loc) · 1.26 KB
/
MulticastClient (1).java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package sockets;
import java.net.MulticastSocket;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.io.IOException;
public class MulticastClient extends Thread {
private String MULTICAST_ADDRESS = "224.3.2.1";
private int PORT = 4321;
public static void main(String[] args) {
MulticastClient client = new MulticastClient();
client.start();
}
public void run() {
MulticastSocket socket = null;
try {
socket = new MulticastSocket(PORT); // create socket and bind it
InetAddress group = InetAddress.getByName(MULTICAST_ADDRESS);
socket.joinGroup(group);
while (true) {
byte[] buffer = new byte[256];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
System.out.println("Received packet from " + packet.getAddress().getHostAddress() + ":" + packet.getPort() + " with message:");
String message = new String(packet.getData(), 0, packet.getLength());
System.out.println(message);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
socket.close();
}
}
}