Ситуация, когда клиентское приложение 1С внезапно закрывается с ошибкой «Потеряно соединение», является одной из самых неприятных для администратора. Особенно странно это выглядит, когда база и сервер 1С находятся на одной машине, а Конфигуратор при этом продолжает работать стабильно. В данной статье мы подробно разберем, почему так происходит на платформе 8.3.27 и выше, и какие шаги необходимо предпринять для восстановления стабильной работы системы.
Первым делом проанализируем специфику работы современных версий платформы 1С. Начиная с релизов 8.3.22 и выше, компания 1С существенно ужесточила механизмы проверки лицензий. Если раньше проверка касалась только текущего рабочего места, то теперь система использует механизм CheckStatus, который сканирует локальную сеть на наличие следов эмуляторов ключей защиты.
Выясним причину, по которой Предприятие вылетает, а Конфигуратор — нет. Дело в том, что клиентское приложение при запуске инициирует гораздо более частые и глубокие проверки лицензионного статуса. Рассмотрим типичную ситуацию: если в вашей локальной сети хотя бы у одного пользователя на ноутбуке запущен VirtualBox с установленным внутри эмулятором (например, для тестов старых конфигураций), сервер 1С может обнаружить широковещательный запрос от этого эмулятора и принудительно разорвать сессии всех легальных пользователей. Это защитная реакция платформы.
Для решения этой проблемы необходимо выполнить следующие действия:
VUSBBus, mshasp или multikey.Даже если база находится на том же сервере, что и клиент, обмен данными все равно происходит через сетевые протоколы. Разберем по шагам, как проверить стабильность канала передачи данных. Простая проверка командой ping может не показать проблему, если пакеты слишком маленькие.
Попробуем запустить расширенную проверку с увеличенным размером пакета, чтобы имитировать нагрузку от передачи данных 1С:
ping ServerName -t -l 5000
Проанализируем результаты. Если во время работы 1С в консоли появляются сообщения «Превышен интервал ожидания», значит, проблема кроется в сетевой карте, коммутаторе или настройках виртуализации (если сервер виртуальный). При потере даже одного-двух пакетов rphost может посчитать сессию разорванной.
Для более глубокого мониторинга воспользуемся утилитой TCPView. Она позволяет в реальном времени увидеть, какие соединения устанавливает процесс 1cv8.exe и в какой момент они переходят в состояние CLOSE_WAIT или исчезают совсем. Это поможет понять, закрывается ли соединение со стороны клиента или его обрывает сервер.
Рассмотрим ситуацию, когда платформа 1С пытается использовать протокол IPv6, который в корпоративных сетях часто настроен некорректно. Это может приводить к задержкам в разрешении имен и, как следствие, к потере связи. Посмотрим, как минимизировать эти риски.
Рекомендуется выполнить следующие настройки:
hosts. Это исключит зависимость от работы DNS-сервера. Файл находится по пути: C:\Windows\System32\drivers\etc\hosts.Пример записи в файле hosts:
192.168.1.10 My1CServer
Иногда операционная система закрывает «неактивные» с ее точки зрения соединения слишком рано. Хотя 1С постоянно обменивается данными, микро-паузы могут быть интерпретированы ОС как повод для разрыва. Разберем, как изменить настройки времени жизни соединений в реестре.
Перейдем в ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters и проверим (или создадим) следующие параметры типа DWORD:
KeepAliveTime — установите значение 60000 (в десятичной системе), что соответствует 60 секундам.KeepAliveInterval — установите значение 1000.Эти параметры заставят систему чаще проверять активность соединения, не позволяя сетевому оборудованию «забывать» об открытой сессии.
Если вышеперечисленные методы не помогают, проанализируем состояние рабочих процессов rphost. В платформе 8.3.27 управление памятью стало более агрессивным. Если процесс потребляет слишком много ресурсов, кластер может принять решение о его перезапуске.
Рассмотрим параметры в консоли администрирования серверов 1С:
rphost будет завершаться при нагрузке, и все пользователи, подключенные к этому процессу, получат ошибку «Потеряно соединение».Выясним, не блокирует ли защитное ПО трафик 1С. Новые версии платформы могут открывать динамические порты для взаимодействия между менеджером кластера и рабочими процессами. Мы должны убедиться, что антивирус не сканирует этот трафик «на лету».
Добавьте в исключения антивируса (например, Kaspersky, ESET или встроенный Windows Defender) следующие исполняемые файлы:
ragent.exermngr.exerphost.exe1cv8.exe (на стороне клиента)Также важно настроить правила брандмауэра, разрешив входящие и исходящие соединения для диапазона портов 1540-1591 и 1560-1591 по протоколам TCP и UDP.
Выполнив этот комплекс мер, мы сможем не только устранить ошибку «Потеряно соединение», но и значительно повысить общую стабильность работы системы 1С:Предприятие в клиент-серверном режиме.