1

我是一名学生,正在开发一个应用程序,该应用程序可以帮助用户检查一组拨号连接上的互联网连接速度。

string[,] connections = new string[5, 2] { { "username", "password" }, { "username", "password" },{ "username", "password" },{ "username", "password" },{ "username", "password" } };

连接存储在上面列出的数组中,我正在寻找最简单的方法来拨打它们并通过从远程服务器下载文件来测试每个连接的速度。专家们可以帮我一个好的解决方案吗?

谢谢你。

笔记

我已经尝试过 DOTRAs,我正在尝试使用但无法完全弄清楚如何建立连接。

RasEntry.CreateDialUpEntry
4

1 回答 1

5

DotRasWindows RAS API的包装器,它使用电话簿文件来存储如何连接到远程 RAS 服务器的信息,然后是一个实际拨打该条目的命令。SDK 中包含的示例虽然只演示了如何进行 VPN 连接,但可以毫不费力地将相同的原理应用于拨号连接。唯一的区别是在创建条目时调用 CreateDialUpEntry 而不是 CreateVpnEntry。

第 1 步:创建条目

您需要首先创建您的条目并将其添加到电话簿中,以便以后拨号操作可以找到它:

string path = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.User);
using (RasPhoneBook pbk = new RasPhoneBook()) 
{
    pbk.Open(path);
    // Find the device that will be used to dial the connection.
    RasDevice device = RasDevice.GetDevices().Where(o => o.Name == "Your Modem Name" && o.DeviceType == RasDeviceType.Modem).First();

    RasEntry entry = RasEntry.CreateDialUpEntry("Your Entry", "5555551234", device);
    // Configure any options for your entry here via entry.Options
    pbk.Entries.Add(entry);
}

这将在电话簿中获得一个名为“Your Entry”的条目和一个电话号码“555-555-1234”。请记住,您需要知道要在条目上配置的设置,以确保连接成功。

第 2 步:拨号

using (RasDialer dialer = new RasDialer()) 
{
    dialer.EntryName = "Your Entry";
    dialer.PhoneBookPath = path;
    dialer.Credentials = new NetworkCredential("User", "Password");
    dialer.Dial();
}

这将使用指定的凭据建立与“您的条目”的连接。

第三步:断开入口

为了断开连接,您需要找到活动连接并在其上调用 HangUp。

RasConnection conn = RasConnection.GetActiveConnections().Where(o => o.Name == "Your Entry").First();
conn.HangUp();

我希望这能回答你的问题!

编辑:我想补充一点,如果正在测试的机器上已经存在连接,您可以直接跳到第二步并拨打它们。

于 2013-03-22T21:37:12.207 回答