Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Послать файл от TclientSocket1 на TserverSocket1 
V
    Опции темы
seferot
  Дата 13.9.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



Господа, подскажите как грамотно послать файл через компонент TclientSocket1 компоненту TserverSocket1 так чтобы он принял файл и ответил клиенту, что файл принят. Скачать файл с сервера не составляет проблем, но закачать файл на сервер от клиента пока не получается!!!.
PM MAIL   Вверх
BaD_SeCt0R
Дата 13.9.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: нет
Всего: 18



Смотри ссылки внизу страницы.


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
seferot
Дата 14.9.2008, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



Цитата(BaD_SeCt0R @ 13.9.2008,  22:20)
Смотри ссылки внизу страницы.

Нууу, очень полезный совет. Спасибо, уже смотрел! Только там нет информации о том, как послать файл от клиента на сервер. 
PM MAIL   Вверх
BaD_SeCt0R
Дата 14.9.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lazy Coder
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 9.10.2006
Где: Анапа

Репутация: нет
Всего: 18



Цитата(seferot @  14.9.2008,  20:07 Найти цитируемый пост)
Только там нет информации о том, как послать файл от клиента на сервер. 

Абсолютно также, как и с сервера на клиент. Принцип не меняется.

Это сообщение отредактировал(а) BaD_SeCt0R - 14.9.2008, 20:20


--------------------
Кто владеет информацией - владеет миром. (С) Френсис Бэкон.
PM MAIL ICQ   Вверх
seferot
Дата 15.9.2008, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



Есть ли у вас конкретный примерчик реализации передачи файла от клиента на сервер? smile

Добавлено через 12 минут и 51 секунду
И ещё вопрос: вот пример исходника который отсылает файл с сервера на клиента...
Код

procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
    NewSize, FileName, PathCopy : string ;
    comand : string ;
begin
     comand := socket.ReceiveText ;
     if rem  then
     begin
        try
          fs.Write(comand[1],length(comand));
          if (fs.Size = Filesize) or (length(comand) = 0) then
          begin
               fs.Free ;
               rem := false ;
               client.Socket.SendText('GETOK');
               client.Close ;
               exit;
          end;
        except
        end;
     end;

     if copy(comand,1, 5) = 'size:' then
     begin
           NewSize := copy(comand, 6, pos(#0, comand)-6);
           FileSize := strToint(NewSize);
           delete(comand, 1, pos(#0, comand));

           if copy(comand, 1, 9) = 'filename:' then
           begin
                FileName := copy(comand, 10, pos(#0, comand)-10);
                delete(comand, 1, pos(#0, comand));
           end;

           if copy(comand, 1, 5) = 'path:' then
           begin
                 PathCopy := copy(comand, 6, pos(#0, comand)- 6);
                 delete(comand, 1, pos(#0, comand));
                 if PathCopy = '' then
                 PathCopy := 'C:\';
                 if PathCopy[length(PathCopy)] <> '\' then
                 PathCopy := PathCopy+'\';
                 if not DirectoryExists(PathCopy) then
                 begin
                      try
                         mkDir(PathCopy);
                      except
                            PathCopy := 'C:\';
                      end;
                 end;           

                 rem := TRUE ;
                 fs := TfileStream.Create(pathCopy+Filename, fmCreate);
                 fs.Write(comand[1], length(comand));
           end;
      end;
end;
 Здесь сервер передает файловый поток клиенту, но если файл менее 8 кило, то клиент получат файл, но не уничтожается файловый поток
Код

if (fs.Size = Filesize) or (length(comand) = 0) then
          begin
               fs.Free ;
               rem := false ;
               client.Socket.SendText('GETOK');
               client.Close ;
               exit;
          end;
. Что посоветуете?
PM MAIL   Вверх
seferot
Дата 22.9.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



Я решил все свои вопросы. Спасибо smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.