"Joachim Roop" <no...@gmx.de> wrote
Even though my non-python telnet-server on the other side is
sending #00-bytes, they are not recognized by python's telnetlib
(characters #01-#FF seem to work fine though).
My C++ implementation has no problems with this.
I have to use Python 3.1 on Windows.
I'm guessing this a known bug. What is the workaround? :(
Telnetlib has been around for at least 10 years so I'd expect a
bug that serious to have been fixed long ago! I suspect something
else is at fault.
# Receiver
tn = telnetlib.Telnet()
tn.open(ip, port)
while 1:
Aside:
Python idiom nowadays prefers "while True:" to "while 1:"
response = (tn.read_until(b"\r",20))[1:-1]
It might be worth breaking this line down and printing the results
data = tn.read_until(b"\r",20) # did telnet even read the 00?
response = data[1:-1] # did we strip it correctly?
if response.find(bytes.fromhex("00")) > -1:
print ("There are hex00 characters")
else:
print ("No hex00 characters found")
tn.close
Others may have more info, but I'll be surprised if telnetlib can't
read a '00'.
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor