package liaotianshi;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JTextArea;
public class Receiver extends Thread {
private JTextArea jta;
public Receiver(JTextArea jta) {
this.jta = jta;
}
@Override
public void run() {
try {
MulticastSocket ms = new MulticastSocket(9999);
InetAddress groupIp = InetAddress.getByName("226.6.6.6");
ms.joinGroup(groupIp);
String s = "";
byte[] b = new byte[1024];
DatagramPacket dp = new DatagramPacket(b, b.length);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
while (true) {
ms.receive(dp);
s = new String(dp.getData(), dp.getOffset(), dp.getLength());
jta.append(dp.getAddress().getHostAddress() + " " + sdf.format(new Date()) + "\n" + s + "\n\n");
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package liaotianshi;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
public class Sender {
public void send(String msg) throws IOException {
MulticastSocket ms = new MulticastSocket();
InetAddress groupIp = InetAddress.getByName("226.6.6.6");
ms.joinGroup(groupIp);
DatagramPacket dp = new DatagramPacket(msg.getBytes(), msg.getBytes().length);
dp.setAddress(groupIp);
dp.setPort(9999);
ms.send(dp);
}
}