Aktualności i artykuły

Opublikowano: 24 czerwca 2014
Kategoria wpisu: administracjaporadniki

Keep it alive

Czyli jak zapobiec rozłączaniu się terminala Client Access
Niejednokrotnie podczas pracy na zdalnym serwerze za pomocą terminala 5250 Client Access (lub iSeries Access) zdarza się, że chwilowy brak aktywności w oknie terminala (odebrany telefon, przerwa na kawę czy drapanie się po głowie) powoduje rozłączenie się naszej sesji.

Bardziej sfrustrowani tym stanem rzeczy użytkownicy po prostu zmienili software do obsługi terminala na taki, który obsługuje parametr KeepAlive  podtrzymujący połączenie, innymi słowy informujący zdalny system o naszej aktywności co zadany okres czasu.

Tymczasem okazuje się że emulator terminala firmy IBM również posiada taką funkcję, jednak nie jest ona udokumentowana.

By stać się szczęśliwym użytkownikiem nierozłączającego się terminala wystarczy dodać odpowiedni wpis w tzw. profilu terminala, czyli w pliku zawierającym definicję i ustawienia dla danego połączenia. Dla przykładowego użytkownika Asimple pliki z profilami połączeń znajdują się w lokalizacji:

c:\Users\Asimple\AppData\Roaming\IBM\..
..Client Access\Emulator\private\

Po odszukaniu właściwego pliku, możemy za pomocą dowolnego edytora tekstu edytować wpisy w nim zawarte. Interesuje nas sekcja

 [Telnet5250]

i jeśli jej nie ma w pliku to należy ją utworzyć. Następnie dodajemy linię z naszym parametrem, a więc KeepAlive=Y, i to wszystko.

Przykładowy fragment pliku może wyglądać następująco:

 [Profile]KeepAlive
 ID=WS
 Version=5
 [Telnet5250]
 KeepAlive=Y
 HostName=10.0.0.1
 Security=Y
 [Communication]
 Link=telnet5250

To powinno wystarczyć by nasza sesja ze zdalnym serwerem nie była rozłączana.

A dla bardziej ambitnych, istnieje możliwość ustawienia parametru podtrzymującego każde połączenie wychodzące z naszego komputera na poziomie systemu Windows. W tym celu należy utworzyć parametr KeepAliveTime jako DWORD w  rejestrze windows w sekcji

HKLM\System\CurrentControlSet\Services\..
..TcpIp\Parameters\KeepAliveTime

Wprowadzona wartość parametru będzie oznaczała czas w milisekundach, w odstępie których wysyłany będzie sygnał do zdalnego urządzenia. Np. wprowadzenie KeepAliveTime z wartością 10000 oznaczać będzie 10 sekund.

^