0
這是我通過普通telnet或甚至通過ruby telnet獲得的數據。我不知道如何告訴它退出當它到達END DATABASE
telnet拉數據超時問題
# Manual telnet method
Trying 10.1.1.12...
Connected to 10.1.1.12.
Escape character is '^]'.
F#1=
F#1=
BEGIN DATABASE
2011-12-29 13:53,1,Hefer Meal,240,247,Z88,1,1
2011-12-29 13:53,1,Vegetable Oil,30,59,Z88,1,1
2011-12-29 13:55,2,Vegetable Oil,100,106,530,1,1
2011-12-29 13:55,2,Steer Meal,800,809,530,1,1
2011-12-29 13:56,3,Vegetable Oil,150,153,530,1,0
2011-12-29 13:57,3,Steer Meal,1200,1203,530,1,0
2011-12-29 14:30,4,Vegetable Oil,17,18,210,1,1
2011-12-29 14:31,4,Liquid Starter,388,394,210,1,1
2011-12-29 14:39,5,Hefer Meal,1200,1227,Z88,1,2
2011-12-29 14:40,6,Hefer Meal,1200,1240,Z88,1,2
2011-12-29 14:41,7,Hefer Meal,1200,1207,Z88,1,0
2011-12-29 14:43,8,Hefer Meal,1200,1286,Z88,1,2
2011-12-29 14:46,9,Vegetable Oil,115,122,530,1,1
2011-12-29 14:50,9,Steer Meal,920,950,530,1,1
2011-12-29 14:56,10,Vegetable Oil,47,48,312,1,0
2011-12-29 14:57,10,Steer Meal,237,261,312,1,1
2011-12-29 14:58,10,Liquid Starter,389,394,312,1,1
END DATABASE
這裏是我的代碼:
#!/usr/local/bin/ruby
require 'net/telnet'
localhost = Net::Telnet::new("Host" => "10.1.1.12", "Timeout" => 10, "Port" => 10001) { |resp| print "===> " + resp }
localhost.cmd("F#1=") do |data|
print data
end
當這個運行時,它輸出的所有數據,然後等待和錯誤:
/usr/lib/ruby/1.8/net/telnet.rb:557:in `waitfor': timed out while waiting for more data (Timeout::Error)
我真的不知道該從哪裏出發,我已經看過this頁面瞭解如何處理它的更多信息,但我找不到任何東西。
感謝您的任何幫助。
我仍然收到與您提供的代碼相同的錯誤。感謝您的幫助,我希望您能提供任何其他建議。 – 2012-01-06 23:26:41
使供應商改變了telnet的工作方式,然後你的代碼幫助我。謝謝。 – 2012-01-23 21:06:52