黑马程序员技术交流社区

标题: 关于myeclipse中测试udp发送接收端多线程测试方法的问题 [打印本页]

作者: 三十而立    时间: 2014-1-26 10:39
标题: 关于myeclipse中测试udp发送接收端多线程测试方法的问题
  1. class Send implements Runnable
  2. {
  3.         private DatagramSocket ds;
  4.         public Send(DatagramSocket ds)
  5.         {
  6.                 this.ds = ds;
  7.         }
  8.         public void run()
  9.         {
  10.                 try
  11.                 {
  12.                         BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

  13.                         String line = null;
  14.                         while((line=bufr.readLine())!=null)
  15.                         {
  16.                                 if("886".equals(line))
  17.                                         break;

  18.                                 byte[] data = line.getBytes();

  19.                                 DatagramPacket dp = new DatagramPacket(data,data.length,InetAddress.getByName("192.168.1.101"),10002);
  20.                                 ds.send(dp);
  21.                         }
  22.                 }
  23.                 catch (Exception e)
  24.                 {
  25.                         throw new RuntimeException("发送端失败!");
  26.                 }
  27.         }
  28. }

  29. class Rece implements Runnable
  30. {
  31.         private DatagramSocket ds;
  32.         public Rece(DatagramSocket ds)
  33.         {
  34.                 this.ds = ds;
  35.         }
  36.         public void run()
  37.         {
  38.                 try
  39.                 {
  40.                         while(true)
  41.                         {
  42.                                 byte[] buf = new byte[1024];
  43.                                 DatagramPacket dp = new DatagramPacket(buf,buf.length);

  44.                                 ds.receive(dp);

  45.                                 String ip = dp.getAddress().getHostAddress();
  46.                                 String data = new String(dp.getData(),0,dp.getLength());

  47.                                 System.out.println("ip:"+ip+"data:"+data);
  48.                         }
  49.                 }
  50.                 catch (Exception e)
  51.                 {
  52.                         throw new RuntimeException("接受端失败!");
  53.                 }               
  54.         }
  55. }

  56. class ChatDemo
  57. {
  58.         public static void main(String[] args) throws Exception
  59.         {
  60.                 Send s = new Send(new DatagramSocket());
  61.                 Rece r = new Rece(new DatagramSocket(10002));

  62.                 new Thread(s).start();
  63.                 new Thread(r).start();
  64.         }
  65. }
复制代码

以上是测试的代码,问题是,以上代码使用的是一个java虚拟机,请问,怎么样进行测试呢?
通过测试,以上的代码确实是运行了发送端和接收端的测试方法的。只是不知道怎么才能进行聊天,特此请教。
作者: 黄志成    时间: 2014-1-26 15:07
要怎么聊天?
你这个不是可以给自己发送消息了吗





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2