黑马程序员技术交流社区

标题: socket问题 [打印本页]

作者: 莫道荣    时间: 2013-3-19 23:56
标题: socket问题
本帖最后由 莫道荣 于 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 00:02
你代码应该全部放在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. }
复制代码

作者: VOIDMAIN    时间: 2013-3-20 14:03
这个问题必须解决了撒




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