public boolean handle() { boolean isOK = false; Integer tryCount=3; while(true){ try{ logger.info("开始拨号"); //获取平台信息针对linux和window进行不同的拨号处理 Properties props = System.getProperties(); if(props.getProperty("os.name").toLowerCase().indexOf("windows")!=-1){ //window平台 Process ps = Runtime.getRuntime().exec("rasdial.exe /disconnect"); ps.waitFor(); //ps = Runtime.getRuntime().exec("rasdial.exe 【网络名】 【账户】 【密码】"); ps = Runtime.getRuntime().exec("rasdial.exe "+LINKNAME+" "+ACCOUNT+" "+PASSWORD); ps.waitFor(); BufferedReader br = new BufferedReader(new InputStreamReader(ps .getInputStream(), "GB2312")); StringBuffer linesb = new StringBuffer(); String line; while ((line = br.readLine()) != null) { line = line.toUpperCase(); if (line.indexOf("已连接 "+LINKNAME) != -1) { logger.info("拨号成功"); isOK = true; Thread.sleep(10*1000L); break; } linesb.append(line); } if (!isOK) { logger.error(linesb.toString()); throw new DMException("拨号失败,没有找到拨号成功标识"); }else{ logger.info("拨号结束"); break; } }else{ //linux平台 logger.info("关闭拨号连接"); Process ps = Runtime.getRuntime().exec("pppoe-stop"); ps.waitFor(); logger.info("开始拨号连接"); ps = Runtime.getRuntime().exec("pppoe-start"); ps.waitFor(); logger.info("查看拨号状态"); ps = Runtime.getRuntime().exec("pppoe-status"); ps.waitFor(); BufferedReader br = new BufferedReader(new InputStreamReader(ps .getInputStream(), "GB2312")); StringBuffer linesb = new StringBuffer(); String line; while ((line = br.readLine()) != null) { line = line.toLowerCase(); if (line.indexOf("link is up") != -1) { logger.info("拨号成功"); isOK = true; Thread.sleep(10*1000L); break; } linesb.append(line); } if (!isOK) { logger.error(linesb.toString()); throw new DMException("拨号失败,没有找到拨号成功标识"); }else{ logger.info("拨号结束"); break; } } }catch(Exception ex){ ex.printStackTrace(); tryCount--; if( tryCount<0){ logger.error("拨号失败,操作停止"); break; }else{ logger.error("重试第"+(3-tryCount)+"次"); try{ Thread.sleep(1000L); } catch(Exception iex){ iex.printStackTrace(); logger.error(iex.toString()); } } } } return isOK; }
windows 拨号和linux拨号
最新推荐文章于 2021-05-26 16:28:42 发布