public void actualizaVizinhosDirectos(PacoteHello pacote, InetAddress ipaddress)
    {
        String nomenodo = pacote.getNomeNodo();
        if(!nomenodo.equals(this.nome))
        {
            if(!this.vizinhosdirectos.containsKey(nomenodo)){
                DadosVizinho dados = new DadosVizinho(nomenodo,ipaddress);
                this.vizinhosdirectos.put(nomenodo,dados);
            }
            else{

                if(!nomenodo.equals(this.vizinhosdirectos.get(nomenodo).getNomeVizinho()) && this.vizinhosdirectos.containsKey(nomenodo)){
                    DadosVizinho dados = new DadosVizinho(nomenodo,ipaddress);
                    this.vizinhosdirectos.put(nomenodo,dados);
                }
                else{
                    this.vizinhosdirectos.get(nomenodo).setTempo(System.currentTimeMillis());
                    this.vizinhosdirectos.get(nomenodo).setActivo(true);
                }
            }
            //ver quais os vizinhos que vem no pacote e que estao na tabela e actualizar o tempo ou adiciona-los   
            for(String str : pacote.getVizinhos())
            {
                if(!str.equals(this.nome))
                {

                    if(!this.vizinhosdirectos.containsKey(str) || !this.vizinhosdirectos.get(str).getActivo()){
                        DadosVizinho dados = new DadosVizinho(nomenodo,ipaddress);
                        this.vizinhosdirectos.put(str,dados);
                    }
                    else{
                        this.vizinhosdirectos.get(str).setTempo(System.currentTimeMillis());
                        this.vizinhosdirectos.get(str).setActivo(true);
                    }

                }
            }

    
        }
        verificaTempo();       
    }