You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
968 B
42 lines
968 B
package visualiser.model;
|
|
|
|
import java.io.IOException;
|
|
import java.net.InetSocketAddress;
|
|
import java.net.Socket;
|
|
|
|
/**
|
|
* Created by David on 26/07/2017.
|
|
*/
|
|
public class Ping implements Runnable {
|
|
|
|
private final String hostname;
|
|
private final int port;
|
|
private final RaceConnection rc;
|
|
|
|
public Ping(String hostname, int port, RaceConnection rc){
|
|
this.hostname = hostname;
|
|
this.port = port;
|
|
this.rc = rc;
|
|
}
|
|
|
|
public boolean pingPort() {
|
|
InetSocketAddress i = new InetSocketAddress(hostname, port);
|
|
try (Socket s = new Socket()){
|
|
s.connect(i, 1500);
|
|
s.shutdownInput();
|
|
s.shutdownOutput();
|
|
s.close();
|
|
rc.statusProperty().set("Ready");
|
|
return true;
|
|
} catch (IOException e) {
|
|
rc.statusProperty().set("Offline");
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
pingPort();
|
|
}
|
|
}
|