Read buffer out of waitfor? - WeOnlyDo Discussion board

Read buffer out of waitfor? (General questions)

by Logan, Wednesday, July 02, 2008, 12:55 (5988 days ago)

Is it possible to read the buffer out of waitfor? I see in the docs that waitfor disables receive. Thank you.

Re: Read buffer out of waitfor?

by wodDamir, Wednesday, July 02, 2008, 13:08 (5988 days ago) @ Logan

Logan,

I don't see anything like that in help file. WaitFor does remove buffer contents if pattern is received, but not if it times out, in which case buffer remains intact.

In that case, you need to ignore the exception and invoke Receive.

Something like this:

[code]ssh1.HostName = xxxx
ssh1.Login = xxxx
ssh1.Password = xxxx
ssh1.Protocol = SSHAuto
ssh1.Blocking = True
ssh1.Connect
On Error Resume Next
Debug.Print ssh1.WaitFor( joe@debian , 5) 'this is an incorrect prompt pattern to simulate the error
MsgBox ssh1.Receive[/code]

Hope this helps.

Regards,
Damba

Re: Read buffer out of waitfor?

by Logan, Wednesday, July 02, 2008, 17:01 (5987 days ago) @ wodDamir

I'm writing an ASP page and I need to Peek or Recieve but not until a successful WaitFor. Unfortunately WaitFor disables receive as it is collecting the data from the server. I want to response.write the data waitfor is receiving before it finds te string it is waiting for. I have tried various methods including the do while loop in the sample ASP code, but it doesn't work. Any ideas?

Re: Read buffer out of waitfor?

by woddrazen, Wednesday, July 02, 2008, 17:41 (5987 days ago) @ Logan

Logan,


You need to receive data just after you connect to server or when you are connected and execute some command?


Drazen

Re: Read buffer out of waitfor?

by Logan, Thursday, July 03, 2008, 19:17 (5986 days ago) @ woddrazen

I solved this problem with this little bit of code thanks to your help Drazen, you are the best!

ssh.send command & LF
response.write command sent, please wait...<br>
response.flush
do until cmdend = 1
ssh.DataReady = 0
sshoutput = ssh.receive
sshoutput = replace(sshoutput,LF, <br> )
response.write sshoutput
response.flush
if instr(sshoutput, # ) <> 0 then
cmdend = 1
response.write <p>complete...<br>
End if
Loop