Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.IOException;
- import java.net.*;
- import java.net.InetAddress;
- import java.net.MulticastSocket;
- import java.net.SocketTimeoutException;
- import java.util.*;
- public class Main {
- public static void main(String[] args) throws IOException {
- String message = "pugs_do_drug_uuu_vatrushki";
- byte[] sendPacket;
- byte[] rcvPacket = new byte[0];
- UUID uuid = UUID.nameUUIDFromBytes(message.getBytes());
- message = uuid.toString();
- sendPacket = message.getBytes();
- MulticastSocket multicastSocket = new MulticastSocket(8000);
- InetAddress inetGroupAddress = InetAddress.getByName("224.1.1.1");
- multicastSocket.joinGroup(inetGroupAddress);
- DatagramPacket datagramSendPacket = new DatagramPacket(sendPacket, sendPacket.length, inetGroupAddress, 8000 );
- DatagramPacket datagramRcvPacket = new DatagramPacket(rcvPacket, rcvPacket.length);
- long timeout = 2000;
- while (true) {
- multicastSocket.send(datagramSendPacket);
- long sendTime = System.currentTimeMillis();
- while (timeout - (System.currentTimeMillis() - sendTime) > 0) {
- multicastSocket.setSoTimeout((Long.valueOf(timeout - (System.currentTimeMillis() - sendTime))).intValue() + 1);
- try {
- multicastSocket.receive(datagramRcvPacket);
- } catch (SocketTimeoutException exception) {
- continue;
- }
- String inetRcvAddress = datagramRcvPacket.getAddress().getHostAddress();
- String UUIDrcv = Arrays.toString(datagramRcvPacket.getData());
- if (!inetRcvAddress.equals(datagramSendPacket.getAddress().getHostAddress()) && UUIDrcv.equals(message)) {
- System.out.print("Clone appeared!!!");
- } else System.out.println("No clone appeared!!!");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement