Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Вниз

Соединение с Инетом   Найти похожие ветки 

 
123-ий ©   (2008-09-26 08:21) [0]

Как я говорил в одной теме в Прочем, инте у меня периодически падает. Хотелось бы автоматизировать процесс переподключения.
Есть Broadband Connection, есть самописная прога, пингующая IP адрес прова. Когда падает инет соединение не разрывается, но сервак уже не пингуется. То есть отловить момент падения инета я могу. Не могу вот, что:
1. Разорвать имеющееся соединение, которое нифига не пашет
2. Запустить его заново, то есть открыть "вон то окно", где вводится логин, пароль и т.д.
3. Если возможно "виртуально" кликнуть мышкой по кнопке "Вызов" в  "вон том окне".
Помогите, чем могете. Хотя бы направьте куда копать. Рахмет (спасибо по казахски :))


 
123-ий ©   (2008-09-26 08:23) [1]


> инте у меня периодически падает

упс, инет ;)

кстати знакомый заморачивался таким же вопросом, только под фряху. Написал скрипт, который пигует IP адрес прова, а подключение както связал с кривыми :D (фряха же) дровами модема. Я таким извратом заниматься не хочу, надеюсь есть способ попроще все сделать.


 
KSergey ©   (2008-09-26 08:47) [2]

1. Каким образом осуществляется соединение которое надо рвать?
2. Вы и правда не знаете как кликнуть программно "вон на ту кнопочку"? :)


 
123-ий ©   (2008-09-26 08:55) [3]


> 2. Вы и правда не знаете как кликнуть программно "вон на
> ту кнопочку"? :)

ну тут скажем соображу. А вот первое - стандартное соединение, которое создается мастером в Сетевых подключениях. Подключение по протоколу WAN PPPoE.


 
KSergey ©   (2008-09-26 09:36) [4]

> 123-ий ©   (26.09.08 08:55) [3]
> А вот первое - стандартное соединение,

Этот "стандарный мастер" может создавать самые разные технологически подключения! Dial-Up, Ethernet и т.д.
И, как правило, API для управления этими соединениями - разное.


 
123-ий ©   (2008-09-26 09:46) [5]

1. Запускаем мастер.
2. Подключить к Интернету
3. Установить подкулючение вручную
4. Через высокоскоростное подключение, запрашивающее имя пользователя и пароль.
5. Вводим данные и получаем нужное подключение.
6. ВотЪ


 
Anatoly Podgoretsky ©   (2008-09-26 09:59) [6]

PPPoE - значит RAS без топтания кнопочек.


 
123-ий ©   (2008-09-26 10:03) [7]


> RAS

это что? не обессудьте, я с этим в первый раз столкнулся


 
Anatoly Podgoretsky ©   (2008-09-26 10:06) [8]

> 123-ий  (26.09.2008 10:03:07)  [7]

Ответ - это не для Начинающих, очень сложно, а так Remote Access Service


 
Vlad Oshin ©   (2008-09-26 10:08) [9]

http://yandex.ru/yandsearch?rpt=rad&text=RAS%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B5%D0%BF%D1%80%D0%BE%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D1%8B%D1%85


 
123-ий ©   (2008-09-26 10:19) [10]


> Ответ - это не для Начинающих, очень сложно, а так Remote
> Access Service

а других вариантов нет?


 
123-ий ©   (2008-09-26 10:22) [11]


> Vlad Oshin ©   (26.09.08 10:08) [9]

спасибо, пороюсь


 
orinoko   (2008-09-26 11:23) [12]

вот тут мож пригодится типа как с RAS работать
(нашёл как часть проекта, посему могут быть лишние пременные и т. д.)
uses RAS;

var hRas: cardinal;

procedure TSockModule.RASConnect;
var pparams: PRasDialParams;
   Res: cardinal;
begin
hRas:=0;
new(pparams);
FillChar(pparams^, sizeof(pparams^), 0);
pparams^.dwSize := sizeof(pparams^);
StrPCopy(pparams.szEntryName, CurrentNameRAS);
StrPCopy(pparams.szUserName, CurrentLoginRAS);
StrPCopy(pparams.szPassword, CurrentPwdRAS);
StrPCopy(pparams.szPhoneNumber, CurrentPhoneRAS);
// Установка связи:
res:=RasDial(nil, nil, pparams, 0, @RasNotifier, hRas);
Dispose(pparams);
if res<>0 then
  begin
  // Параметры дозвона приняты. Выполняются...
  end;
end;

{ Эта процедура будет вызываться при любых изменениях в
 соединении: }
procedure RasNotifier(msg: integer; state: TRasConnState;
 error: Cardinal); stdcall;
{Её нужно написать самому}

// Это вдогонку
{ Эта функция возвращает строку с
 рассшифровкой значений state и error: }
function StateStr(state: TRasConnState; error: longint): string;
var buf: array [0..511] of char; { В help-е написано,
                                  что 512 байт хватит всегда }
begin
if error <> 0
 then
   begin
   case RasGetErrorString(error, @buf, sizeof(buf)) of
     0: result := buf;
     ERROR_INVALID_PARAMETER: result := "Invalid parameter";
     else result := "Error code: " + IntToStr(error);
     end;
  end
else
  case state of
    RASCS_OpenPort            : result := "Открытие порта";
    RASCS_PortOpened          : result := "Порт открыт";
    RASCS_ConnectDevice       : result := "Подключение...";
    RASCS_DeviceConnected     : result := "Подключились";
    RASCS_AllDevicesConnected : result := "All devices connected";
    RASCS_Authenticate        : result := "Start authenticating";
    RASCS_AuthNotify          : result := "Authentication: notify";
    RASCS_AuthRetry           : result := "Authentication: retry";
    RASCS_AuthCallback        : result := "Authentication: callback";
    RASCS_AuthChangePassword  : result := "Authentication: change password";
    RASCS_AuthProject         : result := "Authentication: projecting";
    RASCS_AuthLinkSpeed       : result := "Authentication: link speed";
    RASCS_AuthAck             : result := "Authentication: acknowledge";
    RASCS_ReAuthenticate      : result := "Authentication: reauthenticate";
    RASCS_Authenticated       : result := "Authenticated";
    RASCS_PrepareForCallback  : result := "Preparing for callback";
    RASCS_WaitForModemReset   : result := "Waiting for modem reset";
    RASCS_WaitForCallback     : result := "Waiting for callback";
    RASCS_Projected           : result := "Projected";
    RASCS_StartAuthentication : result := "Start authentication";
    RASCS_CallbackComplete    : result := "Callback complete";
    RASCS_LogonNetwork        : result := "Logging on network";
    RASCS_Interactive         : result := "Interactive";
    RASCS_RetryAuthentication : result := "Retry Authentication";
    RASCS_CallbackSetByCaller : result := "Callback set by caller";
    RASCS_PasswordExpired     : result := "Password expired";
    RASCS_Connected           : result := "Подключено";
    RASCS_Disconnected        : result := "Отключено";
    else                        result := "Unknown state";
    end;
end;


 
123-ий ©   (2008-09-26 13:21) [13]


> orinoko   (26.09.08 11:23) [12]

спасибо, я уже ходил по ссылке. нашел все что нужно.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
2-1222075683
Nameziz
2008-09-22 13:28
2008.11.02
Обработка исключений


15-1220695354
AlexDan
2008-09-06 14:02
2008.11.02
Диски..


2-1222342938
HairBack
2008-09-25 15:42
2008.11.02
Вопрос по TThread


1-1201774076
Still Swamp
2008-01-31 13:07
2008.11.02
Мультиязыковая поддержка


2-1222447265
AlexDan
2008-09-26 20:41
2008.11.02
Форма..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский