A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马任雪刚 中级黑马   /  2012-5-31 19:22  /  1489 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//实现简单的UDP通讯。
import java.net.*;
import java.io.*;
class UdpSent2
{

public static void main(String[] args)throws Exception
{
  DatagramSocket ds = new DatagramSocket(10003);
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  //byte[] b1;
  String line = null;
  while((line = br.readLine())!=null)
  {
   if("886".equals(line));
   break;
   byte[] buf= line.getBytes();//怎么这句代码老是报这个错误:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
               //Unreachable code
               //at UdpSent2.main(UdpSent2.java:17)
               //这个错误是什么意思呀?????
   DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10005);
   ds.send(dp);
   
   
  }
  ds.close();
  
  
}
}


class UdpReiceve2
{

public static void main(String[] args)throws Exception
{
  DatagramSocket ds  = new DatagramSocket(10005);
  while(true)
  {
  byte[] b = new byte[1024*64];
  DatagramPacket dp = new DatagramPacket(b,b.length);
  ds.receive(dp);
  String ip = dp.getAddress().getHostAddress();
  String data = new String(dp.getData(),0,dp.getLength());
  int p = dp.getPort();
  System.out.println(ip);
  System.out.println(data);
  System.out.println(p);
  }
  
}
}

2 个回复

倒序浏览
你if后面多写了个分号,也就是说你的if判断后没有执行语句就结束了,那么break就是个单独的语句了,那他一定会被执行,那他下面的语句就不可能执行不到了,所以出现了你看到的错误,即:编译时错误,不可执行的语句。
回复 使用道具 举报
袁培育 发表于 2012-5-31 19:33
你if后面多写了个分号,也就是说你的if判断后没有执行语句就结束了,那么break就是个单独的语句了,那他一 ...

真是粗心呀!我!谢谢!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马