Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2008, 00:32   #1
tramvajman
Пользователь
 
Регистрация: 12.11.2008
Сообщений: 10
По умолчанию Reconnect

Здравствуйте.
Я пытаюсь написать программу reconnect.
Чтобы автоматом переподключаться к инету.
Как коннектиться и дизконнектиться я знаю.
Вот мой код:
Код:
procedure Connect;
var  
  cmd, par, fil, dir: PChar;
begin
  cmd := 'open';
  fil := 'rasdial.exe';
  par := PChar('Name' + ' ' + 'Login' + ' ' + 'Password');
  dir := 'C:';
  ShellExecute(GetDC(GetDesktopWindow), cmd, fil, par, dir, SW_NORMAL);
end;

procedure Disconnect;
var  
  cmd, par, fil, dir: PChar;
begin
  cmd := 'open';
  fil := 'rasdial.exe';
  par := PChar('Name' + ' /DISCONNECT');
  dir := 'C:';
  ShellExecute(GetDC(GetDesktopWindow), cmd, fil, par, dir, SW_NORMAL);
end;

procedure Reconnect;
begin
  Disconnect;
  Connect;
end;
Проблема возникает в процедуре Reconnect.
Программа почему-то не хочет выполнять последовательно два действия Disconnect и Connect... выполняется только Disconnect.
Я уже пытался ставить паузу между ними типа sleep()... И таймером паузу делал не помогает.
Помогите разобраться...
tramvajman вне форума Ответить с цитированием
Старый 12.11.2008, 02:16   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вы первый экземпляр программы запустили с дисконнектом?
А кто его "убивать" должен перед запуском на коннект?
mihali4 вне форума Ответить с цитированием
Старый 12.11.2008, 17:13   #3
tramvajman
Пользователь
 
Регистрация: 12.11.2008
Сообщений: 10
По умолчанию

Да, точно, немного ошибся. Спасибо.
Тут даже не нужно "убивать", просто нужно паузу подольше выдержать.
Вот, если кому надо: reconnect.rar
tramvajman вне форума Ответить с цитированием
Старый 28.11.2008, 09:08   #4
rainbow
Форумчанин
 
Регистрация: 06.09.2008
Сообщений: 156
По умолчанию

Спасибо, но мне надо сделать так, чтобы если при коннекте вылазила ошибка 694, то бесконечный переконнект, а как вернуть эту ошибку в программу я не знаю.
Просто тупо сделал через таймер переконнект с интервалом 10 секунд,
но тогда, переконнект идет бесконечно даже если уже подключено, тоже не знаю как вернуть состояние сети подключено, чтобы прекратить подключение.
Ужас, как я устал от тупизны...
rainbow вне форума Ответить с цитированием
Старый 18.02.2009, 11:12   #5
Starsky
 
Регистрация: 18.02.2009
Сообщений: 4
По умолчанию

А нельзя эту программу переделать так, чтобы она запускалась при старте винды, зависла где-нибудь в трее и автоматически через каждые, допустим, 5 часов перезапускала подключение по локальной сети? Если такое возможно то скажите, пожалуйста, как?
Starsky вне форума Ответить с цитированием
Старый 18.02.2009, 11:46   #6
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

прописываешь ее в авторан, и по таймеру проверяешь подключение
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 18.02.2009, 11:50   #7
Starsky
 
Регистрация: 18.02.2009
Сообщений: 4
По умолчанию

То, что в авторан это я догадался. Просто в приведённом выше коде запускается служба rasdial.exe, но она только для интернет подключений, а на локальную сеть не действует. Я думаю, что нужно как-то через svchost делать, но незнаю как... И не совсем разбираюсь в компоненте таймер.. точнее совсем не разбираюсь - не дано )) Помогите пожалуйста...
Starsky вне форума Ответить с цитированием
Старый 18.02.2009, 12:14   #8
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

а локалка автоматом запускается вместе с виндой...
че в таймере уметь то7 одно событие, интервал да включить и отключить
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 18.02.2009, 12:19   #9
Starsky
 
Регистрация: 18.02.2009
Сообщений: 4
По умолчанию

Я знаю, что локалка запускается автоматически. Дело вот в чём: у нас дома сеть из 4-х компьютеров. 3 компа подключаются к интернету через главный. Интернет безлимит, поэтому в день на счётчике подключения накапливаются десятки гигабайт переданной информации вследствие чего сеть начинаеть ужасно виснуть. Нужна такая программа, которая автоматически перезапускает локальную сеть через каждые 5-10 часов... Вот сдесь вижу вроде подходящую программу, но она не совсем для той цели которой я добиваюсь
Starsky вне форума Ответить с цитированием
Старый 18.02.2009, 12:51   #10
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

у меня сеть из 5ти компов и так же все ходят через один сервак, и гонят кучу трафа и ничего не тормозит и перезапускать ничего не нужно... юзаю свич Dlink 1016D и еще пару которые расчитаны на хорошую нагрузку
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц