这个是接收端
package Datagram;
import MyUtil.MyDatagramSocket;
import java.net.*;
import java.io.*;public class DatagramReceiver {

static final int MAX_LEN =100;

public static void main(String[] args){
if(args.length!=1){
System.out.println("Error");
}else{
try {
int port = Integer.valueOf(args[0]);
byte[] buffer = new byte[MAX_LEN];
DatagramSocket receiver = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(buffer,buffer.length);
receiver.receive(packet);
String message = new String(buffer);
System.out.println(message);
receiver.close();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e){

}

}
}}
这个是发送端package Datagram;
import MyUtil.MyDatagramSocket;
import java.net.*;
import java.io.*;public class DatagramSender {

public static void main(String[] args){
// MyDatagramSocket receive = new MyDatagramSocket();
if(args.length !=3){
System.out.println("This program requires three command line arguments!");
}
else{
try {
InetAddress receiverHost = InetAddress.getByName(args[0]);
int receiverPort = Integer.valueOf(args[1]);
String message = args[2];

System.out.println("Host:"+receiverHost);
System.out.println("Message"+message);
DatagramSocket mySocket  = new DatagramSocket();
byte[] buffer = message.getBytes();
DatagramPacket myPacket = new DatagramPacket(buffer,buffer.length,receiverHost,receiverPort);
mySocket.send(myPacket);
mySocket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(SocketException e){

}catch(IOException e){

}

}
}}
命令行里编译后,运行 
java Datagram.DatagramReceiver 7676
java Datagram.DatagramSender localhost 7676 Hi!
然后发送端就顺利执行退出,但是接收端没有显示,一直等待!
请问这是怎么回事啊?
谢谢啦~~