class TCPHandler(socketserver.BaseRequestHandler):
def setup(self):
self.packer = MessagePacker.MessagePacker()
self.parser = MessageParser.MessageParser()
def handle(self):
self.setup()
while True:
pass
#blabla...
class FroggerServer(threading.Thread):
def init(self,ip,nickname):
self.serverIp = ip
self.serverPort = 10000
self.nickname = nickname
self.tcpHandler = TCPHandler
tuple = (self.serverIp,self.serverPort)
self.__serverSocket = socketserver.TCPServer(tulpe,self.tcpHandler)
def run(self):
self.__serverSocket.serve_forever()
我先用插座,然后再清除TCPHandler。 问题是在TCPHandler中找不到“packer”、“parser”。你知道吗
对每个人来说,就像这样。你知道吗
server = FroggerServer()
server.init(ip,nickname)
server.start()
server.parser.putMessage(43) #oops. not exist object parser in server object
我认为self.tcpHandler = TCPHandler
中有问题,如果我不使用这种方式,我如何访问这个类外部的TCPHandler中的对象
你可以这样做。你知道吗
然后你可以做:
替代方法:您也可以执行以下操作。你知道吗
现在创建服务器对象,如下所示。现在可以访问
TCPHandler
类的变量parser
。你知道吗假设你有下面的课。你知道吗
这里我们创建了一个
Example
的实例,但是如果我们尝试访问othervariable
,我们将得到一个错误:因为
othervariable
是在doSomething
内赋值的,我们还没有调用它,所以它不存在。你知道吗请注意,
__init__
是一种特殊的方法,每当发生类实例化时,它都会自动被调用。你知道吗引用:https://stackoverflow.com/a/16680307/5352399
相关问题 更多 >
编程相关推荐