Ir para conteúdo
  • 0

[Resolvido] Bungee cord


Guest VitorEmanoel

Pergunta

Guest VitorEmanoel

Estou tentando verificar se um servidor está online, porem não consigo sempre retorna true mesmo o servidor estando offline.

 

OBS: Alem de não está retornando certo está muito lento, demora quase 1 segundo para verificar.

 

Codigo:

public boolean hasOnline(String ip, int port){
		Socket socket = new Socket();
        try {
			socket.connect(new InetSocketAddress(ip, port), 1 * 1000);
			if(socket.isConnected()){
				socket.close();
				return true;
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
        return false;

	}
Editado por VitorEmanoel
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

Sockets são sempre lentos mal optimizados, mas tenta isto. 

Não precisas de um InetSocketAddress

 public String checkOnline(String adress, int port) {
        try {
            Socket s = new Socket(adress, port);
            s.close();
            return "&aOnline";
        } catch (UnknownHostException e) {
            return "&cOffline";
        } catch (IOException e) {
            return "&cOffline";
        }
    }
Link para o comentário
Compartilhar em outros sites

 

Estou tentando verificar se um servidor está online, porem não consigo sempre retorna true mesmo o servidor estando offline.

 

OBS: Alem de não está retornando certo está muito lento, demora quase 1 segundo para verificar.

 

Codigo:

public boolean hasOnline(String ip, int port){
		Socket socket = new Socket();
        try {
			socket.connect(new InetSocketAddress(ip, port), 1 * 1000);
			if(socket.isConnected()){
				socket.close();
				return true;
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
        return false;

	}

Funcionou a respota do @AstroCoder?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...