zoukankan      html  css  js  c++  java
  • ADSL拨号连接

    dotras是一个提供远程访问服务的组件,使用它可以方便的
    进行宽带拨号连接

    由于不同的系统中dotras调用的底层api可能不同,所以使用时要根据不同的系统使用不同的dotras。
    dotras目前有以下几个包,在nuget中可以找到。每个包都有对应的系统

    • WIN8 - Windows 8, Windows 8 Server
    • WIN7 - Windows 7, Windows 2008 Server R2 (aka Windows 7 Server)
    • WIN2K8 - Windows Vista, Windows 2008 Server
    • WINXP - Windows XP, Windows 2003 Server
    • WIN2K - Windows 2000, Windows 2000 Server (baseline)

    详细说明可以参照dotras doucument

    以下是使用dotras进行的简单实现ADSL拨号连接。

            /// <summary>
    		/// 连接
    		/// </summary>
    		/// <param name="sender"></param>
    		/// <param name="e"></param>
    		private void button1_Click(object sender, EventArgs e)
    		{
    			try
    			{
    				RasDialer dialer = new RasDialer();
    				dialer.EntryName = "宽带连接";  //宽带连接的名字
    				dialer.AllowUseStoredCredentials = true;
    				dialer.PhoneBookPath = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
    				dialer.Credentials = new System.Net.NetworkCredential("宽带账户", "宽带密码");
    				dialer.Timeout = 1000;
    				MessageBox.Show(dialer.PhoneBookPath);
    				dialer.Dial();
    				Thread.Sleep(100);
    				var conns = RasConnection.GetActiveConnections();//获取当前所有活动连接
    				var conn = conns.First();
    				RasIPInfo ipAddresses = (RasIPInfo)conn.GetProjectionInfo(RasProjectionType.IP);
    				MessageBox.Show(ipAddresses.IPAddress.ToString());
    
    			}
    			catch (Exception ex)
    			{
    				MessageBox.Show(ex.ToString());
    			}
    		}
    
    		
    		/// <summary>
    		/// 断开连接
    		/// </summary>
    		/// <param name="sender"></param>
    		/// <param name="e"></param>
    		private void button2_Click(object sender, EventArgs e)
    		{
    			try
    			{
    				var conns = RasConnection.GetActiveConnections();//获取当前所有活动连接
    				var conn = conns.FirstOrDefault(o => o.EntryName == "宽带连接");
    				if (conn != null)
    				{
    					conn.HangUp();
    					MessageBox.Show("断开连接成功");
    				}
    			}
    			catch (Exception ex)
    			{
    
    				MessageBox.Show(ex.Message);
    			}
    		}
    		/// <summary>
    		/// 获取IP
    		/// </summary>
    		/// <param name="sender"></param>
    		/// <param name="e"></param>
    		private void button3_Click(object sender, EventArgs e)
    		{
    			var conns = RasConnection.GetActiveConnections();//获取当前所有活动连接          
    			var conn = conns.FirstOrDefault(o=>o.EntryName== "宽带连接");
    			if (conn != null)
    			{
    			  sIPInfo ipAddresses = (RasIPInfo)conn.GetProjectionInfo(RasProjectionType.IP);
    			  MessageBox.Show(ipAddresses.IPAddress.ToString());
    			}
    		}
    

    备注:

    rasdial命令也可以进行拨号操作

  • 相关阅读:
    解决PKIX:unable to find valid certification path to requested target 的问题
    Linux 上的常用文件传输方式介绍与比较
    用VNC远程图形化连接Linux桌面的配置方法
    红帽中出现”This system is not registered with RHN”的解决方案
    linux安装时出现your cpu does not support long mode的解决方法
    CentOS SSH配置
    es6扩展运算符及rest运算符总结
    es6解构赋值总结
    tortoisegit安装、clon、推送
    es6环境搭建
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4972932.html
Copyright © 2011-2022 走看看