superclass=SimpleDelegator
type=class
library=net.telnet
extended=
included=

Υ饹 telnet Υ饤ȵǽ󶡤ޤ

Υ饹³ѤƤ
åȥ֥(̾ [[c:TCPSocket]])Υ᥽åɤ
٤Ѥ뤳ȤǤޤ([[c:SimpleDelegator]] Ѥ
ޤ)
ˤäơ[[m:IO#close]] ³
Ĥꡢ[[m:IO#sysread]]  [[m:Net::Telnet#waitfor]] 
Ȥ鷺˥ǡľɤळȤǤޤ

telnet ǥ⡼ȥۥȤ˥󤷤ƥͳ
ޥɤ¹Ԥ뤳ȤͤƤߤޤ礦
 Net::Telnet Ǽ¸뤿ˤϡ
ޤ [[m:Net::Telnet.new]]  "Host" ץ
Ϳƥ֥Ȥꡢ [[m:Net::Telnet#login]] 
桼̾ѥɤ
󤷡[[m:Net::Telnet#cmd]] ǥޥɤ
¹ԡǸ IO#close ³Ĥޤ
[[m:Net::Telnet#waitfor]], [[m:Net::Telnet#print]],
[[m:Net::Telnet#puts]], [[m:Net::Telnet#write]] ʤɤ
ä᥽åɤϤʣʤȤ򤹤ˤΤ߻ȤäƤ

Net::Telnet Υ֥Ȥ SMTP  HTTP Τ褦 telnet 
ʤӥˤѤǤޤξˤ 
[[m:Net::Telnet.new]]  "Port" ץͿ뤳Ȥ
ݡȤꤹɬפǤ礦ޤ
"Telnetmode" ץ false 
ϤȤ telnet Υޥᤷʤ褦
ʤФʤޤ[[m:Net::Telnet#login]] 
ޤưʤΤǡǧڤץ޼Ȥ
ɬפޤ

[[m:Net::Telnet.new]] ˤ "Proxy" ץǻꤷ
֥Ȥ̤̿򤹤뤳ȤǤޤ
"Proxy" ץ [[c:Net::Telnet]] Υ֥Ȥ
Ϥˤϡ̿ϩѤޤ[[c:Socket]] 
Τ褦ɤ߽񤭲ǽ [[c:IO]] ֥ȤϤˤϡ
Υ֥Ȥ̤Ƥ꤬Ԥޤ
εǽϥ˥åȥƥȤ򤹤ʤɤǤ礦

=== 

  require 'net/telnet'
  
  # ⡼ȥۥ foobar ³
  telnet = Net::Telnet.new("Host" => "foobar") {|c| print c}
  
  # 
  telnet.login("your name", "your password") {|c| print c}
  # 塢ץץȤФޤԤ碌
  
  telnet.cmd("ls") {|c| print c}
  # ޥɼ¹Ը塢ץץȤФޤԤ碌
  
  # ʣ
  telnet.cmd("sleep 5 && echo foobar &") {|c| print c}
  
  STDOUT.flush # <- 줬ʤȤޤǽƤ뤳Ȥ狼ˤ
  
  # ΥޥɤνϤԤ碌
  telnet.waitfor(/foobar\Z/) {|c| print c}
  
  # 󥻥åνλ
  telnet.cmd("exit") {|c| print c}
  telnet.close


Net::Telnet Υ󥹥󥹤ϡåȤΥ᥽åɤdelegateޤ(㤨
Сå󤬽ä close ¹ԤɤǤ礦)
