开发者

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜