【发布时间】:2016-08-02 16:40:28
【问题描述】:
我有一个 Tornado 服务器,它同时监听地址/端口和套接字。我大致这样创建服务器(大量精简):
from tornado import httpserver
from tornado.netutil import bind_unix_socket
server = httpserver.HTTPserver(
request_callback=some_callback,
io_loop=some_loop,
)
unix_socket = bind_unix_socket("mysock.sock")
server.add_socket(unix_socket)
server.listen(address="some_host", port=1234)
我希望能够区分何时通过套接字接收到请求,例如:
curl -XGET --unix-socket mysock.sock http:/ping
相对于:
curl http://some_address:1234/ping
我查看了 Tornado 在收到请求时使用的 HTTPServerRequest,但我不确定区分两者的最佳方法是什么。我可以查看remote_ip 看看它是否来自本地主机,但我认为这并不理想。
【问题讨论】: