Datagram数据报的接收和发送
2007-12-23 12:29:13 来源:WEB开发网Datagram Receiver
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.Datagram;
import javax.microedition.io.DatagramConnection;
public class DatagramReceiver {
public static void main(String[] args) {
if (args.length != 1) {
System.out.PRintln("Usage: DatagramReceiver port");
System.exit(1);
}
try {
DatagramConnection receiver =
(DatagramConnection)Connector.open("datagram://:" + args[0]);
byte[] buffer = new byte[256];
Datagram dgram = receiver.newDatagram(buffer, buffer.length);
for (;;) {
dgram.setLength(buffer.length);
receiver.receive(dgram);
int length = dgram.getLength();
System.out.println("Datagram received. Length is " + length);
// Show the content of the datagram.
for (int i = 0; i < length; i++) {
System.out.print(buffer[i] + " ");
}
System.out.println();
// Send it back...
receiver.send(dgram);
}
} catch (IOException ex) {
System.out.println("IOException: " + ex);
}
}
}
DatagramSender
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);
}
}
}
(出处:http://www.cncms.com)
更多精彩
赞助商链接