Java by API/java.net/DatagramPacket
Содержание
DatagramPacket: getAddress()
<source lang="java">
/*
* Output: * */
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class MainClass {
private final static int BUFSIZE = 20; public static void main(String args[]) { try { int port = 80; DatagramSocket ds = new DatagramSocket(port); byte buffer[] = new byte[BUFSIZE]; while (true) { DatagramPacket dp = new DatagramPacket(buffer, buffer.length); // Receive data ds.receive(dp); // Display address from the datagram packet InetAddress ia = dp.getAddress(); System.out.println(ia); // Display port from the datagram packet System.out.println(dp.getPort()); } } catch (Exception e) { e.printStackTrace(); } }
}
</source>
DatagramPacket: getData()
<source lang="java">
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import javax.swing.JPanel; public class MainClass extends JPanel {
public static void main(String[] args) { try { byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); DatagramSocket socket = new DatagramSocket(5002); System.out.println("Waiting for a packet..."); socket.receive(packet); System.out.println("Just received packet from " + packet.getSocketAddress()); buffer = packet.getData(); System.out.println(new String(buffer)); } catch (IOException e) { e.printStackTrace(); } }
}
</source>
DatagramPacket: getPort()
<source lang="java">
/*
* Output: * */
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class MainClass {
private final static int BUFSIZE = 20; public static void main(String args[]) { try { int port = 80; DatagramSocket ds = new DatagramSocket(port); byte buffer[] = new byte[BUFSIZE]; while (true) { DatagramPacket dp = new DatagramPacket(buffer, buffer.length); // Receive data ds.receive(dp); // Display address from the datagram packet InetAddress ia = dp.getAddress(); System.out.println(ia); // Display port from the datagram packet System.out.println(dp.getPort()); } } catch (Exception e) { e.printStackTrace(); } }
}
</source>
DatagramPacket: getSocketAddress()
<source lang="java">
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import javax.swing.JPanel; public class MainClass extends JPanel {
public static void main(String[] args) { try { byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); DatagramSocket socket = new DatagramSocket(5002); System.out.println("Waiting for a packet..."); socket.receive(packet); System.out.println("Just received packet from " + packet.getSocketAddress()); buffer = packet.getData(); System.out.println(new String(buffer)); } catch (IOException e) { e.printStackTrace(); } }
}
</source>
new DatagramPacket(byte[] buffer, int bufferLength)
<source lang="java">
/*
* Output: * */
import java.net.DatagramPacket; import java.net.DatagramSocket; public class MainClass {
private final static int BUFSIZE = 20; public static void main(String args[]) { try { int port = 80; DatagramSocket ds = new DatagramSocket(port); while (true) { byte buffer[] = new byte[BUFSIZE]; DatagramPacket dp = new DatagramPacket(buffer, buffer.length); ds.receive(dp); String str = new String(dp.getData()); System.out.println(str); } } catch (Exception e) { e.printStackTrace(); } }
}
</source>
new DatagramPacket(byte[] buf, int length, InetAddress address, int port)
<source lang="java">
/*
* Output: * */
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class MainClass {
public static void main(String args[]) { try { InetAddress ia = InetAddress.getByName("www.jexp.ru"); DatagramSocket ds = new DatagramSocket(); byte buffer[] = "hello".getBytes(); DatagramPacket dp = new DatagramPacket(buffer, buffer.length, ia, 80); // Send the datagram packet ds.send(dp); } catch (Exception e) { e.printStackTrace(); } }
}
</source>