receiveSocket=null;
或者
finally{
   receiveSocket=null;
}

解决方案 »

  1.   

    我试过,这样不行,编译时产生variable receiveSocket错误?
    这是为什么啊?
      

  2.   

    finally{
     try{
           if (socket != null )
               socket.close();
           socket = null ;
     }catch(Exception e){}
    }或者把try代码放到你的exception里面也可
      

  3.   

    没有用啊,只要receiveSocket不和DatagramSocket receiveSocket = new DatagramSocket(7878)写在同一个try里面,就会产生variable receiveSocket的错误?
      

  4.   

    DatagramSocket receiveSocket = null;
    DatagramPacket packetIn = null;
    try {
        receiveSocket = new DatagramSocket(7878);
        receiveSocket.setSoTimeout(7000);
        packetIn = new DatagramPacket(byteIo,508);
        receiveSocket.receive(packetIn);
    } catch(SocketTimeoutException ex) {
        System.out.println(ex);
        receiveSocket.close();
    } catch(SocketException ex) {
        System.out.println(ex);
    } catch(IOException ex) {
        System.out.println(ex);
    }