Java by API/javax.microedition.io/Datagram

Материал из Java эксперт
Версия от 14:43, 31 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Datagram: getLength()

 
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] + " ");
    }
  }
}





Datagram: setLength(int value)

 
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);
        }
    }
}