Java by API/java.net/DatagramSocket

Материал из Java эксперт
Перейти к: навигация, поиск

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>