我正在组装一个小应用程序,其中包括GUI、HTTP和TCP服务器。GUI控制从HTTP和TCP服务器返回给客户端的响应。我使用HTTPServer和SocketServer.TCPServer类作为服务器,同时使用BaseHTTPRequestHandler和StreamRequestHandler的子类。但是,让我们首先关注HTTP方面的事情。
当HTTPServer收到请求时,它应该检查图形用户界面的状态,并做出适当的响应。我已经向HTTPServer添加了一个指向图形用户界面的成员变量,但是找不到从BaseHTTPRequestHandler子类访问这个字段的好方法。如何做到这一点?
下面是我目前拥有的代码,尽管Python抛出了一个异常MyHTTPHandler instance has no attribute 'server'
class MyHTTPHandler(BaseHTTPRequestHandler):
def __init__(self, request, client_address, server):
BaseHTTPRequestHandler.__init__(self, request, client_address, server)
self._server = server
def do_GET(self):
self._server.get_interface().do_something()
[...]发布于 2011-04-09 10:53:45
BaseHTTPRequestHandler有一个内置的属性server。不确定为什么要在继承的类中设置另一个self._server。如果您还可以复制get_interface()方法中的代码,这将非常有用。还有,这个'server‘参数是什么?继承的HttpServer实例
https://stackoverflow.com/questions/5602412
复制相似问题