|
В 1С 82 тормозит ФТП-клиент | ☑ | ||
---|---|---|---|---|
0
Оллрайт
20.07.11
✎
19:59
|
Добрый день. Перевели розничную сеть (самописная конфигурация) на платформу 8.2. Обмены в сети производятся через фтп сервер.
Почему-то теперь на некоторых точках стали возникать проблемы с выгрузкой на фтп. Функция ПолучитьФайлОбменаСFTP(УзелОтправитель, ПутьКФайлуСообщенияНаДиске) ТекущийУзел = ЭтотУзел.Подразделение; // Получаем маску для поиска файлов с сообщениями обмена МаскаФайлов = ПолучитьИмяФайлаОбмена(УзелОтправитель, ЭтотУзел, "??????????"); ИмяФайлаСообщенияНаFTP = ""; Попытка ФТПСоед = Новый FTPСоединение(ТекущийУзел.СерверFTP, ТекущийУзел.ПортFTP, ТекущийУзел.ПользовательFTP, ТекущийУзел.ПарольFTP, , ТекущийУзел.ПассивФТП); Исключение Сообщить(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; ФТПСоед.УстановитьТекущийКаталог(ТекущийУзел.ДиректорияFTP); Файлы = ФТПСоед.НайтиФайлы("", МаскаФайлов); // Отбираем файл с максимальным номером в имени Для Каждого ТекФайл Из Файлы Цикл Если ПустаяСтрока(ИмяФайлаСообщенияНаFTP) ИЛИ ТекФайл.Имя > ИмяФайлаСообщенияНаFTP Тогда ИмяФайлаСообщенияНаFTP = ТекФайл.Имя; КонецЕсли; КонецЦикла; Если НЕ ПустаяСтрока(ИмяФайлаСообщенияНаFTP) Тогда Сообщить(" - Считывается файл " + ИмяФайлаСообщенияНаFTP); Попытка ФТПСоед.Получить(ИмяФайлаСообщенияНаFTP, ПутьКФайлуСообщенияНаДиске); Для Каждого ТекФайл Из Файлы Цикл ФТПСоед.Удалить(ТекФайл.Путь, ТекФайл.Имя); КонецЦикла; Исключение Сообщить(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; Возврат Истина; КонецЕсли; Возврат Ложь; КонецФункции |
|||
1
Оллрайт
20.07.11
✎
20:05
|
Я вычитал, что в 8.2 поменялся фтп-клиент. Тормоза возникают при поиске файлов на ФТП. Не знаю даже где копать и чем там можно управлять
|
|||
2
Lenny
20.07.11
✎
21:44
|
Нужно включить пассивный режим
|
|||
3
Оллрайт
20.07.11
✎
22:25
|
Спасибо, попробую. уже завтра
|
|||
4
Оллрайт
21.07.11
✎
12:41
|
Спасибо. Как ни странно, обмен при пассивном режиме прошел почти нормально.
Вот теперь разбираюсь, отчего это так. http://www.karman.com.ua/topic/20393-chem-otlichajutsja-aktivnii-i-passivnii-rezhim-rabo/ При работе по протоколу FTP между клиентом и сервером устанавливается два соединения - управляющее (по нему идут команды) и соединение передачи данных (по нему передаются файлы). Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит "Привет! Я хочу подключится к тебе. Вот мое имя и мой пароль". Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран. В Активном режиме, когда клиент говорит "Привет!" он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных. В Пассивном режиме, после того как клиент сказал "Привет!", сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключится для установки соединения передачи данных. Главное отличие между Активным режимом FTP и Пассивным режимом FTP - это сторона, которая открывает соединение для передачи данных. В Активном режиме, клиент должен принять соединение от FTP-сервера. В Пассивном режиме, клиент всегда инициирует соединение. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |