Using a single telnet session in two different methods
I need to use a telnet session like in this code below :
class ModTelnet(MXComm):
def __init__(self):
MXComm.开发者_JAVA技巧__init__(self)
def _connect(self):
#connect to telnet session @ localhost port 4444
try:
HOST = "localhost"
port = "4444"
# tn = telnetlib.Telnet(HOST, port)
tn.open(HOST, port)
except:
print "Connection refused"
def _receive(self):
#receive data (= msg) from telnet stdout
try:
data = tn.read_all()
return data
except tn.eof.ERR as ex:
if 'timeout error' not in ex.args[0]:
print 'Connection error:', ex
raise Disconnected()
def _send(self, data):
#send command to telnet session
try:
tn.write(data + "\n")
except tn.socket.error as ex:
if 'timeout error' not in ex.args[0]:
print 'Connection error:', ex
raise Disconnected()
Here ise the error raised :
QApplication: Invalid Display* argument
Connection refused
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/home/mk3/MODiMX27/PELM_Gui/src/modimx.py", line 188, in run
self._conn.try_get_data()
File "/home/mk3/MODiMX27/PELM_Gui/src/modimx.py", line 58, in try_get_data
rx_item = self._receive()
File "/home/mk3/MODiMX27/PELM_Gui/src/modimx.py", line 112, in _receive
except tn.eof.ERR as ex:
NameError: global name 'tn' is not defined
The problem is that it seems to not recognize the telnet session open in my first method "connect"...How can we do this the best way?
tn
should be self.tn
so that the other methods can access it
精彩评论