public class UDPSender{ 
  
    public static void main(String args[]) {
 
        Sender sender=new Sender(); 
         
        new myThread(sender,"RcvInput").start();
        new myThread(sender,"SendPkt").start();
        new myThread(sender,"SetTime").start();
        new myThread(sender,"RcvAck").start();
    }
}
/**请注意书写格式*/

解决方案 »

  1.   

    谢谢你的提醒,我改了以后,情况如下:
    这是怎么回事呢? 为啥两个提示信息会连续输出来呢?
    我想先输入hostname再输入message,BufferedReader到底如何使呢?我感觉它和c++中的cin一样.可为什么会这样呢? C:\j2sdk1.4.0_02\bin>java UDPSender
    Please input rcver's hostnamePlease input messageserver-----这是我的输入
    java.lang.NullPointerException
            at Sender.RcvInput(UDPSender.java:33)
            at myThread.run(UDPSender.java:88)
      

  2.   

    用Reader读取输入流,可能是输入流没有结束,按下面的试试就可以不会两个提示信息会连续 输出来;再写一个UDP接收方就可以了
      System.out.println("Please input rcver's hostname\n");
      inputHostname=new BufferedReader(new InputStreamReader(System.in));
      hostname=inputHostname.readLine();
      System.out.println("Please input message\n");
      inputMessage=new BufferedReader(new InputStreamReader(System.in));
      sentence=inputMessage.readLine();
      

  3.   

    哦,谢谢,是这样的。
    我将SetTime 中的 try{ wait(500);//计时半秒
         }catch(InterruptedException e){}
        改为 int i=500000;
             ...
             while(i>0)
             {i--;
              }
        后,运行情况如下:
    c:\j2sdk1.4.0_02\bc:\j2sdk1.4.0_02\b
    please input rcverhost
    please input messahello
    send pkt control=2timesettimeoutsend pkt control=2timesettimeoutsend pkt control=2timesettimeoutsend pkt control=2因为只有发送端在运行,所以我本来想让它一直超时重发,但是怎么会发送4次就自动停了呢!