public Transporte recebeuPSH(int n_seq, InetAddress adress){
       Transporte t1=new Transporte(initTransportePSH);
       
       this.Recebidos.lock();
       ArrayList<DatagramPacket> lista = (ArrayList<DatagramPacket>) this.Recebidos.lista.clone();
       this.Recebidos.unlock();
       
       for(DatagramPacket p : lista){
           if(p.getAddress().equals(adress)){
                try { t1 = t1.receberDeDatagramPacket(p); } catch (IOException ex) {}
                
                
                //se enviarmos pacote com seq=0, o ACK recebido vai ter seqAck=1
                if( Transporte.byteToInt(t1.getSeq(), 2) == n_seq ){
                    this.Recebidos.lock();
                    this.Recebidos.lista.remove(p);
                    this.Recebidos.unlock();
                    return t1;
                    
                }

           }
       }
       
       return null;
   }