Datagram数据报的接收和发送

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航