Java by API/javax.microedition.io/DatagramConnection

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

DatagramConnection: newDatagram(byte[] buf, int size) throws IOException

   <source lang="java">

import java.io.IOException; import java.util.Calendar; import java.util.Date; import javax.microedition.io.Connector; import javax.microedition.io.Datagram; import javax.microedition.io.DatagramConnection; public class J2METimeServer {

   public static void main(String[] args) {
               
       try {
           Calendar cal = Calendar.getInstance();
           DatagramConnection receiver = 
                   (DatagramConnection)Connector.open("datagram://");
           byte[] buffer = new byte[256];
           Datagram dgram = receiver.newDatagram(buffer, buffer.length);
           for (;;) {
               dgram.setLength(buffer.length);
               receiver.receive(dgram);
               cal.setTime(new Date());
               String time = cal.toString();
               byte[] dataBytes = time.getBytes();
               System.arraycopy(dataBytes, 0, buffer, 0, dataBytes.length);
               dgram.setLength(dataBytes.length);
               receiver.send(dgram);
           }
       } catch (IOException ex) {
           System.out.println("IOException: " + ex);
       }
   }

}

 </source>
   
  
 
  



DatagramConnection: receive(Datagram value) throws IOException

   <source lang="java">

import javax.microedition.io.Connector; import javax.microedition.io.Datagram; import javax.microedition.io.DatagramConnection; public class J2MEDatagramSender {

 public static void main(String[] args) throws Exception {
   DatagramConnection sender = (DatagramConnection) Connector
       .open("datagram://localhost:8080");
   int length = 100;
   byte[] buffer = new byte[length];
   for (int i = 0; i < length; i++) {
     buffer[i] = (byte) ("0" + (i % 10));
   }
   Datagram dgram = sender.newDatagram(buffer, buffer.length);
   sender.send(dgram);
   for (int i = 0; i < length; i++) {
     buffer[i] = (byte) 0;
   }
   sender.receive(dgram);
   length = dgram.getLength();
   System.out.println("Received return packet, length is " + length);
   for (int i = 0; i < length; i++) {
     System.out.print(buffer[i] + " ");
   }
 }

}

 </source>
   
  
 
  



DatagramConnection: send(Datagram pocket) throws IOException

   <source lang="java">

import java.io.IOException; import java.util.Calendar; import java.util.Date; import javax.microedition.io.Connector; import javax.microedition.io.Datagram; import javax.microedition.io.DatagramConnection; public class J2METimeServer {

   public static void main(String[] args) {
               
       try {
           Calendar cal = Calendar.getInstance();
           DatagramConnection receiver = 
                   (DatagramConnection)Connector.open("datagram://");
           byte[] buffer = new byte[256];
           Datagram dgram = receiver.newDatagram(buffer, buffer.length);
           for (;;) {
               dgram.setLength(buffer.length);
               receiver.receive(dgram);
               cal.setTime(new Date());
               String time = cal.toString();
               byte[] dataBytes = time.getBytes();
               System.arraycopy(dataBytes, 0, buffer, 0, dataBytes.length);
               dgram.setLength(dataBytes.length);
               receiver.send(dgram);
           }
       } catch (IOException ex) {
           System.out.println("IOException: " + ex);
       }
   }

}

 </source>