"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

Reply via email to