Search the Community
Showing results for tags 'cms'.
-
Hey Guys, I have a (i think) simple question, but i can't seem to get the answer though the help-files. Hope that you can help me with this issue. - I am opening a SSH Connection with the following function Func _Connect($session,$usr,$pass) $exec = @ScriptDir & "\PLINK.EXE" If Not FileExists($exec) Then _Err("PLINK.EXE Not Found!",0) $pid = Run($exec & " -load " & $session & " -l " & $usr & " -pw " & $pass, @ScriptDir, @SW_HIDE, 0x1 + 0x8) ;Run SSH.EXE If Not $pid Then _Err("Failed to connect",0) $currentpid = $pid ;$rtn = _Read($pid) ;Check for Login Success - Prompt ;MsgBox(48,"","1") ;sleep(5000) ;Wait for connection Return $pid EndFunc - This will connect to a CMS Server with a vt100 interface where a dynamic report is generated every 20 seconds. - Then i will read the contents with the following Function Func _Read($pid) $SSHREADTIMEOUT = 0 If Not $pid Then Return -1 Local $dataA Local $dataB Do $SSHREADTIMEOUT += 1 $dataB = $dataA sleep(100) $dataA &= StdOutRead($pid) If @error Then ExitLoop Until ($dataB = $dataA And $dataA And $dataB) OR $SSHREADTIMEOUT == 50 Return $dataA EndFunc This all goes correctly, but i can only read the contents once. When i try to read the contents again i get nothing. Maybe because the CMS isn't changing, but the values in the report is changing every 20 seconds. I need to somehow read al of the contents every time i perform a Read action, but how? Yes, i can use it in a While loop, but also then i get nothing or a small line of text and not the whole report. Any Idea? Thanks Guys! --Edit-- I have fixed the problem by changing the terminal session to a vt220 session. The only problem now is that i want to send the: "Data link escape" command and that is something i cannot fix,. I have tried; StdinWrite($Pid,Hex(0x10)) StdinWrite($Pid,Chr(16)) StdinWrite($Pid,{DLE}) But nothing seems to work. -- Edit-2 -- Guys, fixed that too! Forgot to add the number '5' to actually execute the assignment. So fixed it by using; StdinWrite($Pid,Chr(16)) StdinWrite($Pid,"5") Thanks for reading with me