Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 372

/ вопрос решён /

Доброе время суток, эксперты!

Есть два компьютера:
1 - мой
2 - клиента

Нужно скопировать со второго компьютера все файлы(доступ к файловой системе)

Думаю сделать двумя файлами - один кидается на его компьютер и запускает процесс - так называемый сервер

Второй будет на моем компьютере - так называемый клиент

Подскажите как реализовать подобное

Такие функции есть у программ TeamViewer, Hidden Administrator и некоторых других

Большое спасибо за помощь

aH6y Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: aH6y (статус: Посетитель)
Вопрос отправлен: 8 февраля 2013, 23:15
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: SnowLeo

Здравствуйте, aH6y!

Посмотри в сторону Indy компонентов.
Как то я делал пример, отправки и приема фала через них (клиент-сервер как раз).
Посмотри вот тут пример: "2. Прием - передача файла по локальной сети (TCP/IP)."

http://rewalon.subreal-team.com/sampler.htm

Приложение:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. TIdThreadMgrDefault(IdThreadMgrDefault1).
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22. unit Unit1;
  23.  
  24. interface
  25.  
  26. uses
  27. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  28. Dialogs, Sockets, StdCtrls, IdBaseComponent, IdComponent, IdTCPServer,
  29. IdThreadMgr, IdThreadMgrDefault;
  30.  
  31. type
  32. TForm1 = class(TForm)
  33.  
  34. Server: TIdTCPServer;
  35. IdAntiFreeze1: TIdAntiFreeze;
  36. IdThreadMgrDefault1: TIdThreadMgrDefault;
  37. procedure ServerConnect(AThread: TIdPeerThread);
  38. procedure ServerExecute(AThread: TIdPeerThread);
  39. procedure ServerStatus(ASender: TObject; const AStatus: TIdStatus;
  40. const AStatusText: String);
  41. procedure ServerDisconnect(AThread: TIdPeerThread);
  42. private
  43. { Private declarations }
  44. public
  45. { Public declarations }
  46. procedure AddLOG(msg: string);
  47. end;
  48.  
  49. var
  50. Form1: TForm1;
  51.  
  52. implementation
  53.  
  54. uses IdTCPConnection;
  55.  
  56. {$R *.dfm}
  57.  
  58.  
  59. procedure TForm1.AddLOG(msg: string);
  60. begin
  61. LOG.Items.Append(DateTimeToStr(Now) + ' ' + msg);
  62. LOG.ItemIndex := LOG.Count - 1;
  63. end;
  64.  
  65. procedure TForm1.ServerConnect(AThread: TIdPeerThread);
  66. begin
  67. AddLOG('Client Connect: ' + AThread.Connection.LocalName);
  68. end;
  69.  
  70. procedure TForm1.ServerExecute(AThread: TIdPeerThread);
  71. var f: TFileStream;
  72. s: string;
  73. begin
  74.  
  75. AddLOG(s);
  76.  
  77.  
  78. f := TFileStream.Create('FileName.txt', fmOpenRead);
  79. with AThread.Connection do begin
  80.  
  81.  
  82.  
  83.  
  84. end;
  85.  
  86. end;
  87. end;
  88.  
  89. procedure TForm1.ServerStatus(ASender: TObject; const AStatus: TIdStatus;
  90. const AStatusText: String);
  91. begin
  92. AddLOG(AStatusText);
  93. end;
  94.  
  95. procedure TForm1.ServerDisconnect(AThread: TIdPeerThread);
  96. begin
  97. AddLOG('Client disconnect: ' + AThread.Connection.Server.GetNamePath);
  98. end;
  99.  
  100. end.
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112. unit Unit1;
  113.  
  114. interface
  115.  
  116. uses
  117. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  118. Dialogs, Sockets, StdCtrls, IdBaseComponent, IdComponent,
  119. IdTCPConnection, IdTCPClient;
  120.  
  121. type
  122. TForm1 = class(TForm)
  123. Button1: TButton;
  124. Client: TIdTCPClient;
  125. Memo1: TMemo;
  126. procedure Button1Click(Sender: TObject);
  127. private
  128. { Private declarations }
  129. public
  130. { Public declarations }
  131. end;
  132.  
  133. var
  134. Form1: TForm1;
  135.  
  136. implementation
  137.  
  138. {$R *.dfm}
  139.  
  140. procedure TForm1.Button1Click(Sender: TObject);
  141. var f: TFileStream;
  142. begin
  143. with Client do begin
  144.  
  145.  
  146.  
  147.  
  148.  
  149. end;
  150.  
  151.  
  152.  
  153. Memo1.Lines.LoadFromFile('FileName.tmp');
  154. end;
  155.  
  156. end.


Ответ отправил: SnowLeo (статус: 1-ый класс)
Время отправки: 11 февраля 2013, 09:40
Оценка за ответ: 5

Комментарий к оценке: Спасибо будем пытаться что-то сделать =)

Мини-форум вопроса

Всего сообщений: 11; последнее сообщение — 5 марта 2013, 15:42; участников в обсуждении: 5.
min@y™

min@y™ (статус: Доктор наук), 11 февраля 2013, 08:15 [#1]:

Цитата (aH6y):

Такие функции есть у программ TeamViewer, Hidden Administrator и некоторых других

Ну и зачем плодить ещё одного клона?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
aH6y

aH6y (статус: Посетитель), 11 февраля 2013, 20:29 [#2]:

Потому что мне нужно скрытно взять файлы и скопировать их, чтобы пользователь ничего не знал

Точнее даже так будет:

1. Скрытно скопировать файл-сервер, запустить его
2. Прийти домой и через файловый менеджер файла-клиента вытянуть файлы нужные мне
Толяныч

Толяныч (статус: 4-ый класс), 12 февраля 2013, 12:24 [#3]:

Это уж вопрос для форума ugolovny.kodeks.ru . А советчики взломщику банковских серверов пойдут соучастниками...
aH6y

aH6y (статус: Посетитель), 12 февраля 2013, 15:00 [#4]:

Во-первых: ваш сайт - не открылся
Во-вторых: Я не из России
В-третьих: Я не взламываю банки
В-четвертых: если не можете написать что-то по теме - лучше промолчать
min@y™

min@y™ (статус: Доктор наук), 13 февраля 2013, 08:13 [#5]:

Цитата (aH6y):

если не можете написать что-то по теме - лучше промолчать

Скачай журнал "Хакер" №63, там на странице 112 моя статья, как раз по теме.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
eclipse

eclipse (статус: Посетитель), 3 марта 2013, 08:26 [#6]:

Дядя! Для этого нужно перелопатить дофига информации. Сперва тебе нужно создать клиента с которым ты бы мог законнектиться, предварительно узнав его IP (это пол беды). Затем с ним соедениться (вот с этого можно уже плясать, но тут дохера подвохов). Выбрать нужное соединение TCP или UDP (эт как попрёт). Написать код приёма - отправки (придумав всякие команды)

НО САМЫЙ ПРИКОЛ БУДЕТ В ТОМ ЧТО ВСЕ НОРМАЛЬНЫЕ АНТИВИРИ ТВОЮ ПРОГУ ТУТ ЖЕ УДАЛЯТ!
aH6y

aH6y (статус: Посетитель), 4 марта 2013, 05:40 [#7]:

Подскажите - что да как сделать против антивирусов
Вадим К

Вадим К (статус: Академик), 4 марта 2013, 17:32 [#8]:

использовать линукс. Там не нужно антивирусов, соответственно не нужно с ними бороться.
Галочка "подтверждения прочтения" - вселенское зло.
aH6y

aH6y (статус: Посетитель), 4 марта 2013, 20:06 [#9]:

Если на компьютере, где будет стоять программа сервера для передачи данных, установлена windows?
Вадим К

Вадим К (статус: Академик), 5 марта 2013, 14:53 [#10]:

удалить windows и поставить Linux. И проблемы нет.
Галочка "подтверждения прочтения" - вселенское зло.
aH6y

aH6y (статус: Посетитель), 5 марта 2013, 15:42 [#11]:

:D

Windows нужно оставить

18 марта 2013, 21:50: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:35
Выполнено за 0.03 сек.