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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫道荣 中级黑马   /  2013-3-19 23:56  /  1620 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 莫道荣 于 2013-3-20 14:08 编辑
  1. import java.net.*;
  2. import java.io.*;
  3. class UdpSend
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 DatagramSocket ds=new DatagramSocket();
  8.                 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  9.                 DatagramPacket dp=null;
  10.                 while (true)
  11.                 {
  12.                         byte[] buf=br.readLine().getBytes();
  13.                     dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10000);
  14.                     ds.send(dp);
  15.                 }
  16.                 ds.close();
  17.         }
  18. }
复制代码
UdpSend.java:16: 错误: 无法访问的语句
                ds.close();
                ^
1 个错误

什么原因?为什么我定义的ds无法访问???

点评

如果你的问题已经得到解决,请及时将主题改为[已解决],如果还有问题请继续追问,否则将扣除技术分,谢谢  发表于 2013-3-20 12:11

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

2 个回复

倒序浏览
你代码应该全部放在while循环里面!
正确的代码应该如下:
  1. import java.net.*;
  2. import java.io.*;
  3. class UdpSend
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                
  8.                 while (true)
  9.                 {
  10.                         DatagramSocket ds=new DatagramSocket();
  11.                     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  12.                         byte[] buf=br.readLine().getBytes();
  13.                     DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10000);
  14.                     ds.send(dp);
  15.                     ds.close();
  16.                 }
  17.                
  18.         }
  19. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
这个问题必须解决了撒
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马