利用DotRAS组件,实现ADSL的自动拨号断网自动化操作[转]
有些场合,为了避免服务对用户IP的限制或者为了用户的方便,可以通过代码实现自动化的拨号或者断网操作,通过DotRAS组件,可以非常方便的实现如ADSL、VPN等拨号以及相关操作,DotRAS组件是专门提供这样远程访问服务的模块,本文介绍如何通过应用该组件,实现ADSL网络的拨号、断网、获取用户IP的操作。
DotRAS组件的项目地址是:http://dotras.codeplex.com/
先看看Demo的界面效果
具体的代码逻辑,是通过列出电话簿里面的拨号连接,设置是通过账户密码或者默认账户设置信息,进行拨号即可,使用DotRas组件,使得在DotNet中操作这些功能非常方便,代码贴上如下所示:
///测试拨号连接
///</summary>
privatevoidbtnTest_Click(objectsender, EventArgs e)
{
try
{
RasDialer dialer =newRasDialer();
dialer.EntryName ="联通网络";
dialer.PhoneNumber ="";
dialer.AllowUseStoredCredentials =true;
dialer.PhoneBookPath =RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
dialer.Timeout =1000;
dialer.Dial();
Thread.Sleep(100);
this.LoadConnections();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
/// <summary>
/// 断开网络连接
/// </summary>
private void btnLogout_Click(object sender, EventArgs e)
{
ReadOnlyCollection<RasConnection> conList = RasConnection.GetActiveConnections();
foreach (RasConnection con in conList)
{
con.HangUp();
}
this.LoadConnections();
}
private void Form1_Load(object sender, EventArgs e)
{
this.LoadConnections();
}
/// <summary>
/// 显示活动的连接
/// </summary>
private void LoadConnections()
{
this.comboBox1.Items.Clear();
this.comboBox1.Items.Add(new ComboBoxItem("请选择一个链接...", null));
foreach (RasConnection connection in RasConnection.GetActiveConnections())
{
this.comboBox1.Items.Add(new ComboBoxItem(connection.EntryName, connection.EntryId));
}
this.comboBox1.SelectedIndex = 0;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.GetAddressButton.Enabled = this.comboBox1.SelectedIndex > 0;
}
/// <summary>
/// 获取IP地址信息
/// </summary>
private void GetAddressButton_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
foreach (RasConnection connection in RasConnection.GetActiveConnections())
{
if (connection.EntryId == (Guid)((ComboBoxItem)this.comboBox1.SelectedItem).Value)
{
RasIPInfo ipAddresses = (RasIPInfo)connection.GetProjectionInfo(RasProjectionType.IP);
if (ipAddresses != null)
{
sb.AppendFormat("ClientIP:{0}\r\n", ipAddresses.IPAddress.ToString());
sb.AppendFormat("ServerIP:{0}\r\n", ipAddresses.ServerIPAddress.ToString());
}
}
sb.AppendLine();
}
MessageBox.Show(sb.ToString());
}
通过以上的代码,可以非常方便实现宽带的拨号连接和获取IP等设置,不过断网之后,一般的IP还是和原来一样,这个可能和服务器的缓存有关系,为了实现拨号后,本地为不同的IP设置,需要特别的处理才可以。
转载请注明出处:
撰写人:伍华聪 http://www.iqidi.com
不错,不过,原作者,没有说,怎么让每次拔号之号,IP不一样。
转载于:https://www.cnblogs.com/zqonline/archive/2010/09/07/1820198.html
利用DotRAS组件,实现ADSL的自动拨号断网自动化操作[转]相关推荐
- 利用.pbk来实现ADSL开机自动拨号
利用.pbk来实现ADSL开机自动拨号 当你新建拨号连接或者VPN连接之后在你的电脑里会创建一个.pbk的文件 这个.pbk的文件可以说是一个集合,将你电脑的所有连接都保存在一起. 同时你还可以将 ...
- windows 任务管理器实现拨号断网自动重连
windows 任务管理器实现拨号断网自动重连 打开任务管理器 测试任务执行情况 打开任务管理器 右键计算机->管理 任务计划程序->创建基本任务 名称和描述方便自己记忆即可 完成如图点击 ...
- ADSL开机自动拨号
先双击打开宽带连接---属性---选项---去掉 "提示名称.密码证书等" 前面的勾即 将以下代码复制.粘贴到记事本另存为" 开机自动拨号.reg" 后 ...
- 电信ADSL+路由器自动拨号设置详细步骤
1. ADSL通过电话线接到电话线插孔上(电话线) 2. 路由器通过它自己的WLAN端口连接到ADSL上(网线) 3. 用网线将路由器和电脑连接好(网线) 4. 修改路由器的WLAN设置: 4.1. ...
- ADSL宽带经常掉线断网故障处理方法
故障一:路由器拨号经常掉线 PPPoE虚拟拨号用户,使用路由器拨号.使用过程中经常掉线,通常15分钟左右掉线一次,掉线没有规律.移除路由器,使用WINdows XP操作系统自带的拨号软件上网,故障依旧 ...
- 断网安装是什么意思_关于ADSL宽带断网掉线的几个处理办法
ADSL算是一种古老的上网接口方式了,网络对于ADSL定义的内容很多,比较有价值的只有这一句内容:ADSL是一种异步传输模式(ATM).通常ADSL在不影响正常电话通信的情况下可以提供最高3.5Mbp ...
- java调用bat脚本实现pppoe拨号_使用 DOS 批处理命令实现宽带 ADSL 开机自动连接
利用 Windows 的自带命令实现宽带自动连接 笔者使用的是云南文山州网通的全包月宽带,每次开机后第一件事就是连接网络,由于云南文山州网通拨号程序没有提供自动拨号选项,因此必须手工输入用户名和密码, ...
- linux网卡设置adsl上网,Linux下设置ADSL自动拨号上网
前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...
- 教你如何让电脑的ADSL宽带连接开机自动拨号
教你如何让电脑的ADSL宽带连接开机自动拨号. 事情是这样的,因为黯神伤情很不习惯ADSL每次开机都要自己拨号. 那么能不能让ADSL开机就自己拨号呢?答案当然是肯定的.(以下内容高手跳过) 黯神伤情 ...
最新文章
- 小码哥iOS学习笔记第八天: block的底层结构
- 关于移动,联通,电信的区分。
- Spring Cloud中Hystrix、Ribbon及Feign的熔断关系是什么?
- android事件分发 入口(dispatchTouchEvent)
- jade模板引擎修改为ejs模板引擎
- linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...
- FCN:Fully Convlutional Networks for semantic segmentation要点
- php之类重写父类的构造方法,php实现parent调用父类的构造方法与被覆写的方法
- Promise 的 9 个提示
- python获取两个时间间隔的天数
- 云科技网络验证源码_APK云科技网络验证-APK一键加网络验证一键加弹窗引流
- [历朝通俗演义-蔡东藩-前汉]第007回 寻生路徐市垦荒 从逆谋李斯矫诏
- Firefox 和 Firefox Nightly 同步服务:切换国内和国际服务器的方法
- c语言bmp位图读入,c语言 bmp位图差分
- Android 5.x浏览器webView或者qqX5崩溃,Resources$NotFoundException:String resource ID #0x2040003
- PEI表面修饰CNTs步骤及原理
- 小米会成为三星没落的因素吗?
- react:制作新页面
- 12、MTU的概念,什么是路径MTU? MTU发现机制,TraceRoute(了解)
- python e指数函数,常用的e指数代码
热门文章
- java基础—对一个字符串中的数值进行从小到大的排序
- 【算法】—— 相邻两数的最大差值
- 005木桶缩放(比例非原始)
- 从链接上获取参数值, location.href上获取参数
- InfoPath的常见问题---连接外部数据源提示
- sqlplus 调试存储过程
- C++类中的访问权限问题---public/protected/private
- [Vue.js] 路由 -- 基于vue-router的案例--后台管理
- 第一章:Understanding web performance-理解web性能
- EDM邮件营销之如何制作模板