Professional Documents
Culture Documents
Inter Bloc Age
Inter Bloc Age
MulticastSocket;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
class Multicasted {
private static final String SECRET_KEY = "SecretKey123"; // Secret key for
encryption
// Encrypt message
byte[] encryptedMsg = encrypt(msgByte, secretKey);
// Encryption method
byte[] encrypt(byte[] data, String secretKey) throws Exception {
// Your encryption logic here
return data;
}
}
while (true) {
msgByte = new byte[1024];
message = new DatagramPacket(msgByte, msgByte.length);
try {
socket_r.receive(message);
// Decrypt message
byte[] decryptedMsg = decrypt(message.getData(), secretKey);
text = (new DataInputStream(new
ByteArrayInputStream(decryptedMsg))).readUTF();
System.out.println(text);
messageHistory.add(text);
// Introduce a delay to avoid blocking
Thread.sleep(100);
} catch (Exception exc) {
System.out.println(exc);
}
}
}
// Decryption method
byte[] decrypt(byte[] data, String secretKey) throws Exception {
// Your decryption logic here
return data;
}
// Authentication method
boolean authenticateUser(String username, String password) {
return userCredentials.containsKey(username) &&
userCredentials.get(username).equals(password);
}
}
}