我是一名开发应用程序的学生,可帮助用户检查一组拨号连接的互联网连接速度。
string[,] connections = new string[5, 2] { { "username", "password" }, { "username", "password" },{ "username", "password" },{ "username", "password" },{ "username", "password" } };
连接存储在上面列出的数组中,我正在寻找最简单的方法来拨打它们,并通过从远程服务器下载文件来测试每个连接的速度。 请问专家能否帮助我找到一个好的解决方案?
谢谢。
我已经尝试过DOTRas,我正在尝试使用,但无法确切地弄清楚如何建立连接。
RasEntry.CreateDialUpEntry
答案 0 :(得分:5)
DotRas是Windows 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);
}
这将在电话簿中输入名为“您的条目”的单个条目和电话号码“555-555-1234”。请记住,您需要知道要在条目上配置的设置,以确保连接成功。
第2步:拨打条目
using (RasDialer dialer = new RasDialer())
{
dialer.EntryName = "Your Entry";
dialer.PhoneBookPath = path;
dialer.Credentials = new NetworkCredential("User", "Password");
dialer.Dial();
}
这将使用指定的凭据建立与“您的条目”的连接。
第3步:断开条目
要断开连接,您需要找到有效连接并在其上调用HangUp。
RasConnection conn = RasConnection.GetActiveConnections().Where(o => o.Name == "Your Entry").First();
conn.HangUp();
我希望能回答你的问题!
编辑:我想补充一点,如果正在测试的机器上已存在连接,您可以直接跳到第二步并拨打它们。