zoukankan      html  css  js  c++  java
  • java測试网络连接是否成功并设置超时时间

    /**
         * 获取RMI接口状态
         *
         * @return "0":服务正常,"1":  连接报错,"2":连接超时
         */
        @Override
        public String getRMIJkzt() {
            final ExecutorService es = Executors.newFixedThreadPool(1);
            Callable<String> callable = new Callable<String>() {//使用Callable接口作为构造參数
                @Override
                public String call() throws Exception {//真正的任务在这里运行。这里的返回值类型为String,能够为随意类型
                    URL url = new URL("rmi://192.168.20.188:1098/ht");
                    InputStream in = url.openStream();
                    in.close();
                    return "0";
                }
            };
            try {
                Future future = es.submit(callable);
                String value = null;
                try {
                    value = future.get(5000, TimeUnit.MILLISECONDS).toString();//取得结果,同一时候设置超时运行时间为5秒。相同能够用future.get(),不设置运行超时时间取得结果
                    return "0";
                } catch (ExecutionException e) {
                    return "1";
                } catch (TimeoutException e) {
                    return "2";
                }
            } catch (InterruptedException e) {
                return "1";
            }
        }

  • 相关阅读:
    JavaScript丨数组元素反转
    Executor框架浅析
    索引相关
    关系型数据库
    Cookie和Session
    HTTP和HTTPS
    TCP,UDP,HTTP
    OSI模型
    剑指Offer19
    剑指Offer03
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7015866.html
Copyright © 2011-2022 走看看