- 浏览: 199104 次
文章分类
最新评论
-
code_xiaoke:
session可是有30分钟有效期的还有如果在分布式的环境下 ...
Java Web 用户登陆示例代码 -
xul0038:
http://www.baidu.com
Java Web 用户登陆示例代码 -
16866:
非常棒,配置信息呢
Nginx负载均衡 -
开发小菜:
什么意思,没明白?能不能写一个例子
JS 实现DIV随浏览器窗口大小变化
动态切换IP的实现主是也由Windows的rasdial命令提供的,其实不是java的功劳,java只是调用一下bat脚本而已:
rasdial命令:
拨号
Java代码 复制代码
语法: rasdial 连接名称 username password
实例: rasdial 我的宽带 hzhz1234567890 dfdfdfdfdf
断网
Java代码 复制代码
语法:rasdial 连接名称 /disconnect
实例: rasdial 宽带 /disconnect
java程序调用rasdial命令:
Java代码 复制代码
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**********","******");
}
}
执行结果:
Java代码 复制代码
正在建立连接.
已成功建立连接.
连接已断开
正在建立连接.
已成功建立连接.
小结:
实现这个功能的最主要在于bat命令能支持这个功能,和以前写过的自动设置ip功能类似,这些功能实现java其实是很不方便的,看来要优雅的实现和windows操作系统相关的行为,学习windows编程才行。
LZ,你这没有重拨机制啦,这可不能确保每次都能成功连接上。
也许即使反复的重拨也未能连上,不知LZ是否碰到过。
我的代码只是展示功能。 如果你要重连功能的话,这样就可以了:
Java代码 复制代码
while(!connAdsl("宽带","hzhz**********","******")){
Thread.sleep(1000);
}
rasdial命令:
拨号
Java代码 复制代码
语法: rasdial 连接名称 username password
实例: rasdial 我的宽带 hzhz1234567890 dfdfdfdfdf
断网
Java代码 复制代码
语法:rasdial 连接名称 /disconnect
实例: rasdial 宽带 /disconnect
java程序调用rasdial命令:
Java代码 复制代码
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**********","******");
}
}
执行结果:
Java代码 复制代码
正在建立连接.
已成功建立连接.
连接已断开
正在建立连接.
已成功建立连接.
小结:
实现这个功能的最主要在于bat命令能支持这个功能,和以前写过的自动设置ip功能类似,这些功能实现java其实是很不方便的,看来要优雅的实现和windows操作系统相关的行为,学习windows编程才行。
LZ,你这没有重拨机制啦,这可不能确保每次都能成功连接上。
也许即使反复的重拨也未能连上,不知LZ是否碰到过。
我的代码只是展示功能。 如果你要重连功能的话,这样就可以了:
Java代码 复制代码
while(!connAdsl("宽带","hzhz**********","******")){
Thread.sleep(1000);
}
发表评论
-
JAVA字符串处理函数
2013-04-12 09:21 1116Java中的字符串也是一连串的字符。但是与许多其他的计算机语 ... -
(转)Lucene打分规则与Similarity模块详解
2013-02-06 14:08 1190搜索排序结果的控制 Lu ... -
Compass将lucene、Spring、Hibernate三者结合
2013-02-01 11:02 1676版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声 ... -
Lucene3.0详解
2013-02-01 10:57 1395★第一部分:概述 1. 我 ... -
Java Web 用户登陆示例代码
2013-02-01 09:56 58093实现功能: 1、用户登陆、注销 2、利用session记 ... -
Java对数函数及Java对数运算
2013-02-01 09:47 6788Java对数函数的计算方法非常有问题,然而在API中却有惊人 ... -
Lucene为不同字段指定不同分词器(转)
2013-01-31 17:34 3436在lucene使用过程中,如 ... -
域名管理与解析原理 — 《Java邮件开发详解》读书笔记
2013-01-31 14:56 1698一 基本概念 1. 域名:域名是由圆点分开一串单词或缩写组 ... -
优秀的Java工程师需要掌握的10项技能
2013-01-31 14:04 1836编程专业相对于计算机领域其他专业来讲,是一门比较难以修炼的专业 ... -
Web开发入门不得不看
2013-01-28 17:31 1028如今,各种互联网的Web ... -
MVC框架的映射和解耦
2013-01-25 21:37 824最近在写一个业务上用到的框架,回想起接触过的一些MVC框架, ... -
JAVA发送EMAIL的例子
2013-07-09 09:44 899import javax.mail.*; ... -
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎
2012-11-19 09:55 1379前两天看到了一个中国新闻网,这个网站的搜索form的actio ... -
Lucene多字段搜索
2012-11-19 09:53 1015最近在学习Lucene的过程中遇到了需要多域搜索并排序的问题, ... -
lucene之sort
2012-11-16 15:06 1080package cn.zqh.lucene.sort; im ... -
Nginx负载均衡
2012-11-16 11:45 7639最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大. ... -
Lucene相关度排序的调整
2012-11-16 11:38 1721Lucene的搜索结果默认按 ... -
HashSet重复元素判断
2012-10-15 16:37 9138HashSet不能添加重复的元素,当调用add(Object) ... -
JAVA提高教程(2)-认识Set集合之HashSet
2012-10-09 09:44 969集合在Java里面的作用非 ... -
java 加密
2012-07-24 14:28 984本篇内容简要介绍BASE64、MD5、SHA、HMAC几种加 ...
相关推荐
Java是一种广泛使用的编程语言,它不仅用于开发复杂的服务器应用程序,还可以用于编写脚本,实现自动化任务,例如在Windows操作系统中进行ADSL拨号。ADSL(Asymmetric Digital Subscriber Line)是一种宽带接入技术...
易语言ADSL拨号API是针对ADSL(Asymmetric Digital Subscriber Line)拨号连接的一种编程接口,主要用于在易语言环境中实现ADSL的自动拨号、断线和连接状态管理等功能。这一API通常由一系列函数组成,允许开发者通过...
ADSL拨号小精灵简化了这一过程,让用户无需手动操作即可实现IP的自动切换。 描述中提到的“最好用的自动更换IP软件,不用安装,超级简单”,意味着这款软件不仅功能强大,而且易于使用。用户无需经过复杂的安装步骤...
### ADSL拨号上网配置详解 ...通过上述步骤,不仅能够实现单机拨号上网,还能通过ADSL Modem和路由器轻松实现多用户共享上网,大大提高了网络资源的利用率。这种配置方法简单易行,适合家庭及小型办公环境使用。
在“易语言恒信ADSL拨号”这个项目中,我们主要探讨的是如何使用易语言来实现ADSL拨号功能。 ADSL(Asymmetric Digital Subscriber Line)非对称数字用户线,是一种广泛应用于家庭和小型企业的宽带接入技术。它通过...
综合以上信息,我们可以推测这是一个用于ADSL宽带连接的拨号软件,其特色在于能帮助用户频繁更换IP地址,尤其适用于需要大量IP资源的活动,如网络投票。软件的操作界面和具体功能细节未知,但通常这类软件会包括连接...
【圣者ADSL换IP拨号器】是一款专为网络用户设计的软件工具,主要用于自动进行ADSL拨号,以实现IP地址的快速切换。在互联网世界中,IP地址是每个设备独一无二的标识,而ADSL(Asymmetric Digital Subscriber Line)是...
【标签】包括"ADSL切换IP"、"ADSL拨号器"、"自动拨号器"、"自动换IP"以及"免费ADSL拨号器",这些标签清晰地定义了软件的主要功能。"ADSL切换IP"和"ADSL拨号器"表明这款软件可以处理ADSL网络环境下的IP地址更换;...
这是因为ADSL是一种动态IP分配方式,每次断开再连接时,ISP会分配新的IP。 2. 换IP需求:用户可能需要频繁更换IP,比如网络营销中避免被目标网站识别和限制,或者进行网络测试,模拟不同地区的访问情况。 3. 工具...
使用这些接口,开发者可以编写出控制ADSL Modem进行拨号上网的程序。 精易模块是易语言的一个扩展库,它提供了大量的底层函数和组件,增强了易语言的功能,特别是在系统操作、网络通信、文件处理等方面。在这个ADSL...
标题中的“ADSL拨号上网加速补丁”指的是针对ADSL(Asymmetric Digital Subscriber Line)宽带连接的一种优化工具。ADSL是一种广泛应用于家庭和小型企业的宽带接入技术,它利用现有的电话线基础设施提供高速数据传输...
在Java编程环境下,实现ADSL自动拨号和网页刷新功能是一项实用的技术,尤其对于网络自动化测试或者远程管理网络设备时非常有用。本篇将详细解析这个“adsl-java.rar”项目中的核心知识点。 首先,我们要了解Dial....
在Linux系统中,使用USB ADSL拨号上网是一种常见的连接方式,尤其对于那些没有内置调制解调器或者想要在不同地点便捷上网的用户来说。本文将深入探讨如何在Linux环境下配置USB ADSL拨号上网,包括所需的技术背景、...
通过学习这个项目的源代码,开发者可以学习如何在Delphi中进行网络编程,如何使用RAS API进行ADSL连接管理,如何设计用户界面以实现自动拨号和IP地址切换,以及如何记录和显示日志信息。对于初学者,这是一个了解...
标题中的“ADSL.rar_adsl 拨号_dial up in vb_拨号上网_自动拨号”揭示了这个压缩包文件的内容主要涉及ADSL(Asymmetric Digital Subscriber Line)拨号上网技术,以及如何在Visual Basic (VB)环境中实现自动拨号的...
在本文中,我们将深入探讨如何在Windows Server 2003 (Win2003) 操作系统中利用网络地址转换(NAT)技术来实现家庭用户基于ADSL(Asymmetric Digital Subscriber Line)拨号上网的教程。首先,我们需要了解NAT的基本...
3. **ADSL拨号**:ADSL(Asymmetric Digital Subscriber Line)是非对称数字用户线技术,是宽带上网的一种方式。ADSL拨号是指通过ADSL调制解调器连接到Internet服务提供商(ISP)的过程,用户需要输入用户名和密码进行...
易语言ADSL拨号API源码是针对网络连接的一种编程实现,主要应用于Windows操作系统环境,通过调用系统API(Application Programming Interface)实现ADSL拨号功能。易语言是中国本土开发的一种简单易学的编程语言,它...
本文将深入探讨ADSL拨号的工作原理,以及如何在C++环境下编写程序来实现这一功能。 ADSL拨号的工作流程主要包括以下几个步骤: 1. **初始化**:用户端的ADSL Modem与服务提供商的DSLAM(Digital Subscriber Line ...
在标题中提到的“易语言多线程adsl宽带拨号源码”是一个使用易语言编写的程序,该程序实现了多线程环境下ADSL(Asymmetric Digital Subscriber Line)宽带的拨号功能。在多线程编程中,每个线程可以独立执行不同的...