Java by API/javax.microedition.io/DatagramConnection
DatagramConnection: newDatagram(byte[] buf, int size) throws IOException
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);
}
}
}
DatagramConnection: receive(Datagram value) throws IOException
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] + " ");
}
}
}
DatagramConnection: send(Datagram pocket) throws IOException
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);
}
}
}