DatagramSender
/* J2ME in a Nutshell By Kim Topley ISBN: 0-596-00253-X */ import java.io.IOException; import javax.microedition.io.Connector; import javax.microedition.io.Datagram; import javax.microedition.io.DatagramConnection; public class DatagramSender { public static void main(String[] args) { if (args.length != 2) { System.out.println("Usage: DatagramSender port length"); System.exit(1); } try { DatagramConnection sender = (DatagramConnection)Connector.open("datagram://localhost:" + args[0]); int length = Integer.parseInt(args[1]); 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); // Wait for the packet to be returned 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); // Show the content of the datagram. for (int i = 0; i < length; i++) { System.out.print(buffer[i] + " "); } System.out.println(); } catch (IOException ex) { System.out.println("IOException: " + ex); } } }