检查服务器端口是否从Android打开

我正在尝试从我的 Android设备连接到我的远程服务器.如何检查服务器上的特定端口是否已打开?例如.如何检查我的服务器11.11.11.11上是否打开了端口80?

目前,我正在使用InetAddress来ping主机是否可以访问,但这并不能告诉我端口80是否打开.

现行守则

boolean isAvailable = false;
try {
    isAvailable = InetAddress.getByName("11.11.11.11").isReachable(2000);
    if (isAvailable == true) {
       //host is reachable
       doSomething();
    }
} catch (Exception e) {

}

解决方法

创建一个Socket,它将检查具有特定端口的给定ip是否可以连接.
public static boolean isPortOpen(final String ip,final int port,final int timeout) {

    try {
        Socket socket = new Socket();
        socket.connect(new InetSocketAddress(ip,port),timeout);
        socket.close();
        return true;
    } 

    catch(ConnectException ce){
        ce.printstacktrace();
        return false;
    }

    catch (Exception ex) {
        ex.printstacktrace();
        return false;
    }
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...