如何使用HTTPServer
(或其他一些类)设置一个HTTP服务器来侦听文件系统套接字而不是实际的网络套接字?“文件系统套接字”是指AF_UNIX
类型的套接字。
HTTPServer
继承自SocketServer.TCPServer
,所以我认为可以说它不是针对该用例的,并且即使您尝试解决该用例,也可能会遇到问题,因为您正在“滥用”它。
话虽这么说,本质上来说HTTPServer
,可以很简单地定义一个子类来创建和绑定Unix套接字,如下所示:
class UnixHTTPServer(HTTPServer):
address_family = socket.AF_UNIX
def server_bind(self):
SocketServer.TCPServer.server_bind(self)
self.server_name = "foo"
self.server_port = 0
然后,只需通过server_address
构造函数的参数传递要绑定的路径:
server = UnixHTTPServer("/tmp/http.socket", ...)
不过,我不能保证它会很好地工作。您可能必须实现自己的HTTP服务器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句