zoukankan      html  css  js  c++  java
  • Java Socket 检测远程地址可否通信

      使用java.net包中的Socket(“插座”),进行对要访问的另一端(可以是TCPIP地址)进行尝试创建链接,如果异常,则可判断为不能访问。

    示例代码:

    import java.io.IOException;  
    import java.net.InetSocketAddress;  
    
    import java.net.Socket;  
    
    import lotus.domino.*;
    public class myClass
    {
        public static void main(String argv[])    
        {   
            //默认为正常通信
            boolean isOpen = true; 
            //百度的IP
            String host = "61.135.169.121";
            //分别模拟79至82的四个端口号
            for(int i=79;i<83;i++){
                isOpen = remoteIPIsOpen(host,i);
                System.out.println("地址:"+host+"端口:"+i+" 是否正常通信:"+isOpen);
            }
        } 
    
        /**
         * 判断远程地址是否正常通信
         * @ip:远程地址ip
         * @prot:远程地址端口
         */
        public boolean remoteIPIsOpen(String ip,int port){
        Socket connect = null;
        boolean isOpen = true;
        try {
                connect = new Socket();
                connect.connect(new InetSocketAddress(ip, port),100);  
                isOpen = connect.isConnected(); 
            } catch (IOException e) {
                isOpen = false;  
            }finally{  
                try {  
                    connect.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }
            }
            return isOpen;
        }
    }

    以上是对百度IP不同的几个端口进行了尝试链接,测试结果:

    地址:61.135.169.121端口:79 是否正常通信:false
    地址:61.135.169.121端口:80 是否正常通信:true
    地址:61.135.169.121端口:81 是否正常通信:false
    地址:61.135.169.121端口:82 是否正常通信:false

  • 相关阅读:
    CentOS7.5 搭建MyCat1.6.6
    idea快速搭建springboot项目
    MySQL存储过程中变量及循环的使用
    windows 安装 jdk1.8并配置环境变量
    CentOS7.5安装JDK1.8
    CentOS7.2安装MySql5.7并开启远程连接授权
    PHP高级工程师面试
    每日英语
    静态化
    php分页实例及其原理
  • 原文地址:https://www.cnblogs.com/zealon/p/4419798.html
Copyright © 2011-2022 走看看