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

前端之家收集整理的这篇文章主要介绍了检查服务器端口是否从Android打开前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从我的 Android设备连接到我的远程服务器.如何检查服务器上的特定端口是否已打开?例如.如何检查我的服务器11.11.11.11上是否打开了端口80?

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

现行守则

  1. boolean isAvailable = false;
  2. try {
  3. isAvailable = InetAddress.getByName("11.11.11.11").isReachable(2000);
  4. if (isAvailable == true) {
  5. //host is reachable
  6. doSomething();
  7. }
  8. } catch (Exception e) {
  9.  
  10. }

解决方法

创建一个Socket,它将检查具有特定端口的给定ip是否可以连接.
  1. public static boolean isPortOpen(final String ip,final int port,final int timeout) {
  2.  
  3. try {
  4. Socket socket = new Socket();
  5. socket.connect(new InetSocketAddress(ip,port),timeout);
  6. socket.close();
  7. return true;
  8. }
  9.  
  10. catch(ConnectException ce){
  11. ce.printStackTrace();
  12. return false;
  13. }
  14.  
  15. catch (Exception ex) {
  16. ex.printStackTrace();
  17. return false;
  18. }
  19. }

猜你在找的Android相关文章