Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запустить файл на удаленной машине? [D5, Win95/98, Win2k]


Dimich1978 ©   (2002-10-29 14:30:00) 

Мастера помогите справиться с такой проблемой. Мне необходимо запустить файл на удаленной машине, но только что бы он не у меня обрабатывался, как например если мы запустим в Windows Commander е, а запускалась программа там же на удаленной машине.
Заранее благодарен


Dimich1978   (2002-10-29 17:02:00) [1]

Все вроде ВЫШЕЛ КАМЕННЫЙ ЦВЕТОК :)))
ВСЕМ ОГРОМНОЕ:)СПАСИБО.


Dimich1978   (2002-10-29 16:59:00) [2]

По обрыву связи запускаю тимер

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
label2.Caption:="Отключены";
timer1.enabled:=true;
end;

Сам таймер

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if not ClientSocket1.Active then begin
ClientSocket1.Host := "192.168.5.8;
ClientSocket1.Port := 1025;
ClientSocket1.Active := True;
end;

end;

Далее по коннекту отрубаю тимер

procedure TForm1.ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
timer1.Enabled:=false;
end;

И в при возникновении ошибки пишу

procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ClientSocket1.Socket.Disconnect(ClientSocket1.Socket.SocketHandle);
ErrorCode:= 0;
end;


КАК ПОСТРОЕНИЕ ПРАВИЛЬНОЕ? И КОД?


Ghost.   (2002-10-29 16:47:00) [3]

ну я тебе и говорю на таймер ставь


izhalex   (2002-10-29 16:44:00) [4]

тебе же Ghost правильно сказал - поставь на тимер
if not ClientSocket1.Active then ClientSocket1.Active := True;
и обрабатывай клиентеррор :)


Dimich1978   (2002-10-29 16:40:00) [5]

>>Ghost
Если можно пример. Дело в том что я уже бьюсь, бьюсь , а у меня не выходит каменный цветок. Вроде победа близка, но нет ошибка все же остается.


Dimich1978   (2002-10-29 16:36:00) [6]

Попробую объяснить толком
Используя ServerSocket и Clientsocket надо построить связь, но возникает такая трудность, когда сервер отрубается, то клиент заново сконнектится не может и выдается соответствующее сообщение. Т.е. надо решить проблему на клиенте. Когда в клиенте срабатывает ondiskinnect необходимо заново приконнектится когда сервер заново загрузится, при этом все должно проходить автономно(программно) без выдачи всяких там Socket Error.
Суть в следующем:
1. Отрубается сервер-> Клиент видит что связь разорвана и пытается заново приконнектится, но возникает трудность с коннектом...сервер еще не запущен...значит надо "подождать" и попробовать заново и т.д. и т.п.


izhalex   (2002-10-29 16:33:00) [7]

и на клиент.онеррор не забудь поставить
ClientSocket1.Socket.Disconnect(ClientSocket1.Socket.SocketHandle);
ErrorCode:= 0;
{самому подсказали хорошие люди}


Ghost.   (2002-10-29 16:30:00) [8]

ну поставь на таймер если нет сервера ничего не делать..если есть то соединиться..разорвалось соединение снова таймер включил и опять


Dimich1978   (2002-10-29 16:24:00) [9]

Да я имею ввиду связь ClientSocket и Serversocket.
Заранее благодарен.


Ghost.   (2002-10-29 16:05:00) [10]

ты толком обьясни, что ты под связью имеешь ввиду...я решал такое довольно давно


izhalex   (2002-10-29 15:28:00) [11]

Ты что имеешь в виду? ClientSocket и ServerSocket? или еще что?


Dimich1978   (2002-10-29 14:44:00) [12]

Может кто поможет сделать такую вещь как "устойчивая связь сервера с клиентом" что я под этим понимаю:
1. Когда Сервер рухнул...по любым причинам, клиент должен ожидать запуска сервера и при это не ругаться на отсутствие связи с сервером.
Я думаю это вопрос многих интересует, но сколько я ни смотрел так никто и не дал ответа.
Пож-та поделитесь кодом как это можно реализовать у кого эта проблема решена.
Заранее благодарен.


izhalex   (2002-10-29 14:37:00) [13]

Либо делай клиент и сервер и запускай через них, либо добавляй в расписание на удаленном компе NetScheduleJobAdd


Наверх

Титульная страница Поиск, карта сайта Написать письмо