2011-12-30 2 views
0

이것은 일반 텔넷이나 루비 텔넷을 통해 얻은 데이터입니다.텔넷 풀 데이터 시간 초과 문제

: 이것은 모든 데이터를 출력으로 대기 및 오류를 실행하면

#!/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 

: 내 코드 나는 그것이 END DATABASE 여기

# 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/lib/ruby/1.8/net/telnet.rb:557:in `waitfor': timed out while waiting for more data (Timeout::Error) 

나는 정직하게 여기에서 어디로 가야할지 모르겠다. 나는 그것을 처리하는 방법에 대한 자세한 내용은 this 페이지를 보았지만 아무 것도 찾을 수 없다.

도움 주셔서 감사합니다.

답변

1

여기에 비표준 텔넷 서버를 사용하고있는 것으로 보입니다. 초기화 할 때 "Telnetmode"를 false로 설정하십시오.

localhost = Net::Telnet::new("Host" => "10.1.1.12", "Telnetmode" => false, "Timeout" => 10, "Port" => 10001) { |resp| print "===> " + resp } 
+0

제공 한 코드와 동일한 오류가 발생합니다. 도움을 주셔서 감사 드리며 다른 의견을 보내 주시면 감사하겠습니다. –

+0

은 벤더로 하여금 텔넷이 작동하는 방식을 바꾼 다음 코드가 도움이되었습니다. 고맙습니다. –