Как побороть WSAECONNRESET: Connection reset by peer в SAP GUI

На некоторых видах прямых соединений из дома на нужные мне сервера NetWeaver я часто сталкиваюсь с ошибкой:

WSAECONNRESET: Connection reset by peer

Она возникает примерно через минуту, если ничего не делать в SAP GUI. Все окна вылетают, блокировки не снимаются, несохранённый результат теряется. Это может быть очень неприятно и обидно.

Кто виноват и что делать?

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

В целом, для повседневной работы такое поведение безопасно, так как многие протоколы не парятся по этому поводу, а просто устанавливают соединение заново, или же имеют встроенные команды типа NOOP для создания массовки, пока ничего реального не происходит.

Почему-то такой инструмент как SAP GUI оказывается бессилен перед такой ситуацией. Поглядел в настройки роутера, там не нашел ничего похожего, что помогло бы побороть проблему. Посмотрел в настройки SAP GUI, там тоже не нашел ничего путного.

Попробовал поработать через VPN, но почему-то это мне также не помогло.

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

Смысл простой: каждые 10 секунд необходимо слать сигнал по маршруту Сервер=>Клиент, что в некотором роде является эквивалентом команды NOOP. Канал оживляется, и в очередь на отстрел не попадает.

Основные недостатки:

  • Дополнительные телодвижения
  • Занимает окно
  • Не действует на редактор экранов

PS. Между делом похожая напасть может происходить и в SSH.

2 комментария

  1. Добрый день. А не подскажете, Где этот код прописывается?

    Просто у нас на работе тоже сап, и от бездействия постоянно вылетает. Внутренняя Служба поддержки ничем не помогает.

  2. Просто отдельная Z-программа с привязкой Z-транзакции.
    Запускается в отдельном окне и по сути является зависшим отчётом с бесконечным циклом. Но пока он висит — остальное не падает.
    Всего в рамках одной сесии можно открыть до шести окон (при стандартных настройках сервера).

Добавить комментарий

Ваш адрес email не будет опубликован.