Java by API/java.net/DatagramSocket
Содержание
DatagramSocket: receive(DatagramPacket packet)
<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>
DatagramSocket: send(DatagramPacket p)
<source lang="java">
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import javax.swing.JPanel; public class MainClass extends JPanel {
public static void main(String[] args) { try { String data = "data in UDP"; byte [] buffer = data.getBytes(); DatagramPacket packet = new DatagramPacket(buffer, buffer.length, new InetSocketAddress("localhost", 5002)); DatagramSocket socket = new DatagramSocket(5003); System.out.println("Sending a packet..."); socket.send(packet); }catch(IOException e) { e.printStackTrace(); } }
}
</source>
new DatagramSocket()
<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>
new DatagramSocket(int port)
<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>