#adsl #pppoe #c_sharp
Люди, помогите программно подключиться (на C# желательно, но можно и не на нем) к интернету по PPPoE (ADSL у меня), шарил по нэту везде либо на мсдн, где нет примеров, либо dotras.codeplex.com (там VPN или только создание подключения - так и не понял), дайте, пожалуйста хоть какой-нибудь работающий пример, замучался уже...
Ответы
Ответ 1
На C# в Windows вот так в общем: соединение: System.Diagnostics.Process.Start("rasdial.exe", "название_соединения логин пароль"); разъединение: System.Diagnostics.Process.Start("rasdial.exe", "название_соединения /DISCONNECT");Ответ 2
DotRas - это лучшее, что есть для C# для работы с PPPoE. Ссылки по теме: PPPOE Dialer с форума DotRAS Starting a RAS Connection с MSDN (WinCE) Введение в RAS c RSDNОтвет 3
Набрать с DotRas не проблема. Набирает. Вот только почему-то после таймаута разрывает соединение... Пример того как набрать: RasPhoneBook CurrentUserPhoneBook; RasDialer Dialer = new RasDialer(); Init() { CurrentUserPhoneBook = new RasPhoneBook(); CurrentUserPhoneBook.Open(true); foreach (RasEntry re in CurrentUserPhoneBook.Entries) { if (re.Device.DeviceType.Equals(RasDeviceType.PPPoE, StringComparison.InvariantCultureIgnoreCase)) { //сохрани в лист например все пппое записи myPPPoEConnectionList.Add(re); } } } private void Dial(RasEntry re) { // This button will be used to dial the connection. this.Dialer.EntryName = re.Name; this.Dialer.PhoneBookPath = CurrentUserPhoneBook.Path; this.Dialer.Timeout = 20000; this.Dialer.AllowUseStoredCredentials = true; try { // NOTE: The entry MUST be in the phone book before the connection can be dialed. // Begin dialing the connection; this will raise events from the dialer instance. this.pppoeConnectionHandle = this.Dialer.DialAsync(); } catch (Exception ex) { //LogWriteLine(ex.ToString()); } }Ответ 4
Копайте в сторону RAS. Вот, например, какое-то обсуждение: NET RAS/RASDIAL StructuresОтвет 5
Столкнулся с этой проблемой. Пришлось написать утилиту контроля. Подходит для любого языка. При запуске с параметрами передает в окно, с указанным handle состояние подключения (SendMessage(Hwnd,WM_MBUTTONDOWN,MK_MBUTTON,sValue). А через буфер обмена и IP адрес. Могу поделиться - multisoft@rambler.ru
Комментариев нет:
Отправить комментарий