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

  • 相关阅读:
    [UE4]虚幻引擎的C++环境安装
    [UE4]Drop,扔物品
    [UE4]Grab抓取
    [UE4]抓取准备
    [UE4]用Format Text进行调试
    [UE4]Overlap Event 碰撞事件
    [UE4]Skeletal Mesh的碰撞体
    [UE4]模拟物理
    [UE4]Static Mesh的碰撞体
    [UE4]镜像
  • 原文地址:https://www.cnblogs.com/zealon/p/4419798.html
Copyright © 2011-2022 走看看