我有一个简单的服务器。如果我做一个普通的套接字它可以工作,但如果我尝试使用一个 unix 套接字,我认为它不起作用。
这是服务器:
from tornado.httpserver import HTTPServer
import tornado.ioloop
from tornado.netutil import bind_unix_socket
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
server = HTTPServer(application)
unix_socket = bind_unix_socket('/tmp/foo.sock')
server.add_socket(unix_socket)
tornado.ioloop.IOLoop.instance().start()
这是我的测试方式:
~ socat - UNIX-CONNECT:/tmp/foo.sock
GET / HTTP/1.1
HOST: foobar.com
*hit enter a few times to complete http call*
服务器没有给出任何响应。
知道我做错了什么吗?