![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запустить файл на удаленной машине? [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