Передача файлов по сети средствами Дельфи.

Эта статья будет интересна всем, кто пишет программы на Borland Delphi.

 Из нее Вы узнаете о механизмах передачи файлов по сети, 

а также познакомитесь с сетевыми компонентами из состава Borland Delphi.

Очень часто в сети Internet я сталкиваюсь с вопросами о передаче файлов с компьютера на компьютер через «сокеты». Сокеты - эта уникальная технология, которая была реализована еще в UNIX. Их можно рассматривать как конечные точки сетевого соединения. Технология сокетов позволяет приложениям обмениваться информацией по сети. В этой статье я попытаюсь ответить на эти вопросы, используя средства языка программирования Borland Delphi, который представляет целый ряд компонентов пригодных для работы с ними. Из них особенно выделяются следующие: TPowersock, TServerSocket, TClientSocket, TNMStrm и TNMStrmServ.

         Руководствуясь свои личным опытом, я предлагаю из этого многообразия компонентов, выбрать два последних. Компоненты TNMStrm и TNMStrmServ применяются для обмена потоками данных. Первый компонент используется в клиентской программе, а второй, соответственно, в серверной. Не оспорим тот факт, что клиентская программа может только посылать данные на сервер, а сервер может только получать данные от клиента. Следовательно, если Вы хотите чтобы ваша программа могла и посылать, и отправлять потоки, Вы должны использовать в ней оба этих компонента.

         Механизм потоков используется для работы с массивами данных, которые необязательно могут содержаться в файлах. В том числе это может быть и буфер в памяти, длинная строка символов и т.п. Компоненты, необходимые нам, входят в стандартный пакет Borland Delphi и находятся на вкладке FastNet.

Расположение сетевых компонентов

Рассмотрим небольшой пример.

Откроем новый проект и разместим на нем стандартную кнопку класса TButton, компоненты TNMStrm и TNMStrmServ. В обработчик кнопки OnClick запишем следующий код:

         Код достаточно простой. После создания потока в динамической памяти, в него загружается файл для отправки. Помимо это, в обработчике кнопки задаются свойства компонента TNmStrm, среди которых имя отправителя, адрес получателя, порт и время ожидания ответа от сервера. Метод «PostIt» отправляет содержимое потока непосредственно на сервер. После того, как сервер поток получает, на нем генерируется событие «OnMsg» компонента TNMStrmServ, в обработчик которого Вы должны добавить код, расположенный ниже.

         Вот в общем и все, что необходимо для написания простейшей программы, позволяющей обмениваться файлами по сети.  Автор надеется, что написанная им статья поможет читателям в дальнейшей практике написания программ для сети Internet.


 Оцените данную статью

 

                  Автор статьи: Волков Михаил (независимый специалист

 по сетевому программированию)

Назад 

 
Сайт создан в системе uCoz