动态切换IP的实现主是也由Windows的rasdial命令提供的,其实不是java的功劳,java只是调用一下bat脚本而已:
rasdial命令:
拨号
语法: rasdial 连接名称 username password
实例: rasdial 我的宽带 hzhz1234567890 dfdfdfdfdf
断网
语法:rasdial 连接名称 /disconnect
实例: rasdial 宽带 /disconnect
java程序调用rasdial命令:
package com.sesame.network;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ConnectNetWork {
/**
* 执行CMD命令,并返回String字符串
*/
public static String executeCmd(String strCmd) throws Exception {
Process p = Runtime.getRuntime().exec("cmd /c " + strCmd);
StringBuilder sbCmd = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
sbCmd.append(line + "\n");
}
return sbCmd.toString();
}
/**
* 连接ADSL
*/
public static boolean connAdsl(String adslTitle, String adslName, String adslPass) throws Exception {
System.out.println("正在建立连接.");
String adslCmd = "rasdial " + adslTitle + " " + adslName + " "
+ adslPass;
String tempCmd = executeCmd(adslCmd);
// 判断是否连接成功
if (tempCmd.indexOf("已连接") > 0) {
System.out.println("已成功建立连接.");
return true;
} else {
System.err.println(tempCmd);
System.err.println("建立连接失败");
return false;
}
}
/**
* 断开ADSL
*/
public static boolean cutAdsl(String adslTitle) throws Exception {
String cutAdsl = "rasdial " + adslTitle + " /disconnect";
String result = executeCmd(cutAdsl);
if (result.indexOf("没有连接")!=-1){
System.err.println(adslTitle + "连接不存在!");
return false;
} else {
System.out.println("连接已断开");
return true;
}
}
public static void main(String[] args) throws Exception {
connAdsl("宽带","hzhz**********","******");
Thread.sleep(1000);
cutAdsl("宽带");
Thread.sleep(1000);
//再连,分配一个新的IP
connAdsl("宽带","hzhz**********","******");
}
}
执行结果:
正在建立连接.
已成功建立连接.
连接已断开
正在建立连接.
已成功建立连接.
小结:
实现这个功能的最主要在于bat命令能支持这个功能,和以前写过的自动设置ip功能类似,这些功能实现java其实是很不方便的,看来要优雅的实现和windows操作系统相关的行为,学习windows编程才行。
分享到:
相关推荐
ADSL拨号,在批处理文件设置好你的用户名和密码,双击他就可以拨号,当让你也可以让他变成系统启动时就运行这个文件
易语言ADSL拨号API源码,ADSL拨号API,错误提示管理_,拔号上网_,连接事件回调_,挂断拔号连接_,RasDialA,RasHangUp,lstrcpyA
因而本节将介绍如何通过一个ADSL MODEM和一个路由器轻松实现多用户共享上网! 使用ADSL接入Internet的基本过程简要归纳为:连接硬件设备并安装网卡驱动程序→创建拨号连接→拨号连接Internet。设置方法简单方便!...
ADSL拨号换ip工具(带说明).rar
ADSL拨号自动换IP刷网页 直接解压安装就行 没有插入任何广告
USB ADSL 拨号上网 Linux 下
利用Win2003中的NAT实现基于ADSL拨号上网(家庭用户)教程
C#实现ADSL自动拨号 C#实现ADSL自动拨号 C#实现ADSL自动拨号 C#实现ADSL自动拨号
ADSL拨号上网错误大全,对拨号上网的各种错误提示消息进行说明
宽带拨号,好用!适用于网络投票。ADSL拨号,无限制IP !让你的票数直线猛增!
ADSL拨号上网,具有图形界面设置 方便设置,简单操作
java实现adsl的自动拨号以及刷新网页功能
ADSL自动拨号软件,实现自动切换IP,需要ADSL拨号上网的电脑使用
ADSL拨号软件和局域网共享上网教程.ADSL拨号软件和局域网共享上网教程.ADSL拨号软件和局域网共享上网教程.
最好用的自动更换IP软件,不用安装,超级简单。
易语言 adsl拨号 模块.rar
移植rp-pppoe到s3c2440(QQ2440v3)实现ADSL拨号上网
易语言ADSL拨号API源码。@易语言入门教程。
ADSL宽带自动拨号上网,断线自动拨号,vb源程序。