IPConnection.SendFile

From SunFlurry wiki
Revision as of 08:51, 7 February 2021 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  SendFile (Обмен данными)
Объект:Объект IP
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, число, не буфер, разрыв соединения, системная ошибка
Визуальность:Нет

TCP/IP функция отсылает файл с помощью установленного соединения. Для приема файла на удаленной стороне необходимо использовать функцию ReceiveFile. Имя файла может иметь международные символы. Кроме содержимого файла на удаленную сторону отсылается также дата последней записи в файл (может использоваться для контроля необходимости обновления файла), и также само имя файла (удаленная сторона может принять файл по оригинальному имени). Файл может быть как локальным, так и находиться на сервере. Функцию можно использовать как для блокирующих, так и для не блокирующих соединений. Если соединение будет разорвано до успешной отсылки данных, функция вызовет исключение. Для передачи очень больших файлов, желательно создать свой протокол передачи, так как данная функция не возвращается до тех пор, пока весь файл не будет отослан.

Синтаксис

IPConnection.SendFile(<Путь и имя файла для отправки (STRING)>,<Упаковать файл перед отправкой (INT)>=0)

Аргументы

  • <Путь и имя файла для отправки (STRING)> - Путь и имя файла для отправки. Путь может быть как серверным и так и локальным (Имена файлов).
  • <Упаковать файл перед отправкой (INT)> - (необязательный аргумент) Если аргумент равен 1, файл будет упакован (zip) перед отправкой, по умолчанию (0) -- файл не будет упакован. Упакованные файлы распаковываются автоматически при получении.

Примеры

//Пример отсылки файла с помощью SendFile 
аКлиент:=IPConnection.Connect("127.0.0.1:8000");
аКлиент.SendFile("c:\testfile.txt",1);