From: John Kaurin Date: 2001-04-24T10:11:24+09:00 Subject: [ruby-talk:14123] Re: FTP vs Telnet Connection Times "ts" wrote in message news:200104220731.f3M7Vss18193@orsay1.moulon.inra.fr... > >>>>> "D" == Dave Thomas writes: > > D> What does a command line telnet client do? > > Probably a problem with SYS$MANAGER:SYLOGIN.COM or LOGIN.COM > > It take 12 s for me > > pigeon% cat c.rb > require 'net/telnet' > require 'auth' > tn = Net::Telnet.new("Host"=>'orsay2', "Timeout"=>300, "Dump_log" => 'aa') > begin > tn.waitfor({"Match"=>/Username: /}) > tn.cmd({"String"=>$username, "Match"=>/Password: /}) > tn.cmd($password) > tn.cmd("\n") > n = 0 > tn.cmd('show syst') {|c| print c if n == 1; n+= 1} > rescue > puts "Telnet connection failed." > exit > end > pigeon% time ruby c.rb > VAX/VMS V6.1 on node ORSAY2 22-APR-2001 09:59:03.56 Uptime 12 19:02:23 > real 0m13.121s > user 0m0.110s > sys 0m0.020s > pigeon% > > VMS think that the session is interactive (i.e. F$MODE()) > > > Guy Decoux Trying to tackle this from a different angle using rsh, gave rise to another problem. Note: Anywhere "host" appears below substitute your specific node information. If I have a com file (TEST.COM) on my VAX/VMS system, in the login directory, consisting of: $ DIR 'P1' $ EXIT The command line "rsh host TEST.COM" works for both DOS and UNIX. Outputing a directory listing for the login directory. The command line "rsh host TEST.COM *.LOG" works for both DOS and UNIX. Outputing a directory listing of *.LOG files for the login directory (some do exist in this directory). However, running Ruby program versions of the above commands gives conflicting results. Running the Ruby program: begin output = %x{rsh #{host} @TEST.COM} output.gsub!("\r", "") puts output rescue puts "Yikes" end Works on both DOS and UNIX outputing same results as the command line versions. Running the Ruby program: begin output = %x{rsh #{host} @TEST.COM *.LOG} output.gsub!("\r", "") puts output rescue puts "Yikes" end Works on UNIX outputing the same results as the command line version. Does NOT work on DOS, outputing a nil string. Can anyone tell me why? Remember the command line version of this works. The only difference is the Ruby version on the systems. ruby 1.6.2 (2000-12-18) [i386-cygwin] ruby 1.6.3 (2001-03-19) [alphaev6-osf4.0f] Was this something that was changed in 1.6.3?