Net::Telnet and sysread()


#1

I’m trying establish a telnet connection to nethack.alt.org. I can
get a connection but Net::Telnet cannot seem to handle the output. In
reading net/telnet.rb I found out about IO#sysread so i put this
little tnet.rb file together

require ‘net/telnet’

print("\n")
tn = Net::Telnet.new(
‘Host’ => ‘nethack.alt.org’,
‘Timeout’ => 10,
‘Telnetmode’ => true) { |str| print str }

input = tn.sysread(1024 * 1024)
print("\nDisplaying Output\n ")
print(input)

Now when I connect here is the output that is displayed:
E:\Ruby\mkNethackbot>ruby tnet.rb

Trying nethack.alt.org
Connected to nethack.alt.org.

Displaying Output
©÷¡è ©÷ ©÷# ©÷’E:\Ruby\mkNethackbot>

As you can see from the “Displaying Output” section the data that
nethack.alt.org is sending doesn’t seem readable by Net::Telnet.
nethack.alt.org appears to use a scripted login instead of a standard
login/password prompt.

Any ideas?

Thanks,
Will


Will S. ( willshattuck.at.gmail.com )
Home Page: http://www.thewholeclan.com/will

When you get to your wit’s end, you’ll find God lives there.