Java by API/javax.microedition.io/DatagramConnection
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>