public class Broadcast extends Thread {
private final int port;
public Broadcast(int port) {
this.port = port;
}
@Override
public void run() {
try {
receive();
} catch (IOException e) {
e.printStackTrace();
}
}
private void receive() throws IOException {
byte[] buffer = new byte[65507];
@SuppressWarnings("resource")
DatagramSocket ds = new DatagramSocket(port);
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
while (true) {
ds.receive(packet);
String s = new String(packet.getData(), 0, packet.getLength());
System.out.println(packet.getAddress() + ":" + packet.getPort() + " → " + s);
}
}
public void send(String msg, int port) throws IOException {
DatagramSocket ds = new DatagramSocket();
DatagramPacket dp = new DatagramPacket(msg.getBytes(), msg.getBytes().length,
InetAddress.getByName("255.255.255.255"), port);
ds.send(dp);
ds.close();
}
}
Java发送和接收广播
最新推荐文章于 2024-09-14 18:46:05 发布